/*** 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。* * 示例:* 输入:nums =[1,2,3,4]* 输出:[1,3,2,4] * 注:[3,1,2,4] 也是正确的答案之一。* * 提示:* 0 <= nums.length <= 50000* 1 <= nums[i] <= 10000* * 解题思路:* 1.遍历数组,遇到偶数,与数组下标为right的位置交换,直至当前遍历项不为偶数时,i++*//*** @param {number[]} nums* @return {number[]}*/var exchange = function(nums) {var n=nums.length,right=n-1;for(var i=0;i<right;i++){while(i<right&&nums[i]%2==0){swap(nums,i,right);right--;}}return nums;};function swap(arr,i,j){var temp;temp = arr[i];arr[i] = arr[j];arr[j] = temp;}var nums =[2,16,3,5,13,1,16,1,12,18,11,8,11,11,5,1];console.log(exchange(nums));
如果觉得《leetcode算法刷题记录之调整数组顺序使奇数位于偶数前面》对你有帮助,请点赞、收藏,并留下你的观点哦!