7.29 第一次做可以用自己的方法 AC 出来,但是 K 神的解法更好,明天再做一次!
7.30 一次 AC
题目描述
原题链接:https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/
解题思路:双指针(类比快排的切分交换)
K 神题解:https://leetcode-cn.com/leetbook/read/illustration-of-algorithm/5v3rqr/
- 左右俩指针分别位于左右两边,左指针遇到偶数就停止,右指针遇到奇数就停止,然后交换俩指针上的数据,直至 i >= j 即退出循环,返回 nums 即可!
class Solution {public int[] exchange(int[] nums) {int i = 0, j = nums.length - 1;while(i < j) {while(i < j && (nums[j] & 1) != 1) j--;while(i < j && (nums[i] & 1) == 1) i++;if(i < j) {int tmp = nums[i];nums[i] = nums[j];nums[j] = tmp;}}return nums;}}
