概述
例: arr[] = 12345678; k = 2
1.逆序前 6(8-2) 位 -> 65432178
2.逆序后 2 位 -> 65432187
3.全部逆序 -> 78123456
private static void reverseK(int[] arr,int k) {
if(arr != null) {
int n = arr.length;
k = k % n;
reverse(arr, 0, n-1-k);
reverse(arr, n-k, n-1);
reverse(arr, 0, n-1);
}
}
private static void reverse(int[] arr,int begin,int end) {
for( ; begin < end; begin++,end--) {
int temp = arr[begin];
arr[begin] = arr[end];
arr[end] = temp;
}
}
最后
以上就是快乐航空为你收集整理的数组循环右移 k 位的全部内容,希望文章能够帮你解决数组循环右移 k 位所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复