leetcode初级算法2.旋转数组
生活随笔
收集整理的這篇文章主要介紹了
leetcode初级算法2.旋转数组
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
leecode初級算法2.旋轉數組
僅為個人刷題記錄,不提供解題思路
題解與收獲
我自己的解法:
public static void rotate(int[] nums, int k) {int move = k % nums.length;Stack<Integer> stack = new Stack<>();if(move == 0){return;}else {for(int i = nums.length - move - 1; i >= 0; i--){stack.push(nums[i]);}for(int j = nums.length - 1; j>= nums.length - move; j--){stack.push(nums[j]);}}for(int i = 0; i < nums.length; i++){nums[i] = stack.pop();}}官方題解:
class Solution {public void rotate(int[] nums, int k) {k %= nums.length;reverse(nums, 0, nums.length - 1);reverse(nums, 0, k - 1);reverse(nums, k, nums.length - 1);}public void reverse(int[] nums, int start, int end) {while (start < end) {int temp = nums[start];nums[start] = nums[end];nums[end] = temp;start += 1;end -= 1;}} }總結
以上是生活随笔為你收集整理的leetcode初级算法2.旋转数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用电脑花椒直播怎么样(花椒如何用电脑直播
- 下一篇: 苹果手表爬楼梯设置(苹果手表爬楼梯设置方