Redis從0到精通--Set
阿新 • • 發佈:2021-10-14
https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/
思路很簡單,但是我不明白為什麼不能使用位運算,難道是值交換和地址交換?
錯誤程式碼
class Solution { public int[] exchange(int[] nums) { int len = nums.length; //if(len == 0) return -1; int l = 0, r = len - 1,tem; while(l < r){ while(l < r && (nums[l] & 1) == 1) l++; while(l < r && (nums[r] & 1) == 0) r--; nums[l] = nums[l]^nums[r]; nums[r] = nums[l]^nums[r]; nums[l] = nums[l]^nums[r]; } return nums; } }
正解程式碼
class Solution { public int[] exchange(int[] nums) { int len = nums.length; //if(len == 0) return -1; int l = 0, r = len - 1,tem; while(l < r){ while(l < r && (nums[l] & 1) == 1) l++; while(l < r && (nums[r] & 1) == 0) r--; tem = nums[l]; nums[l] = nums[r]; nums[r] = tem; } return nums; } }