剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

方法一 双指针

大的while中的两个小while也需要判断 i 和 j , 实际上当i == j时第一个小循环跳出,第二个小循环也不会再进行。

 1 /**
 2  * @param {number[]} nums
 3  * @return {number[]}
 4  */
 5 var exchange = function(nums) {
 6     let i = 0, j = nums.length - 1;
 7     while(i < j) {
 8         while(nums[i] % 2 == 1 && i < j) {
 9             i++;
10         }
11         while(nums[j] % 2 == 0 && i < j){
12             j--;
13         }
14         // console.log(`i=${i} j=${j}`);
15         let temp = nums[i];
16         nums[i++] = nums[j];
17         nums[j--] = temp;
18     }
19     return nums;
20 };

 

posted @ 2021-09-21 17:34  雪之下。  阅读(27)  评论(0)    收藏  举报