21. 调整数组顺序使奇数位于偶数前面
小于 1 分钟
21. 调整数组顺序使奇数位于偶数前面
参考链接
个人尝试
class Solution {
public int[] trainingPlan(int[] actions) {
if (actions == null || actions.length == 0) return actions;
int i = 0, j = actions.length - 1;
//while(i < j)
while (i < actions.length && j >= 0 && i < j) {
//while(i < j && (actions[i] & 1) == 1) i++;
while(i < actions.length && actions[i] % 2 == 1) i++;
//while(i < j && (actions[i] & 1) == 0) j--;
while(j >= 0 && actions[j] % 2 == 0) j--;
//if (i != j) {}
if (i < actions.length && j >= 0 && i < j) {
int tmp = actions[i];
actions[i] = actions[j];
actions[j] = tmp;
}
}
return actions;
}
}
优秀题解
class Solution {
public int[] trainingPlan(int[] actions) {
int i = 0, j = actions.length - 1, tmp;
while(i < j) {
while(i < j && (actions[i] & 1) == 1) i++;
while(i < j && (actions[j] & 1) == 0) j--;
tmp = actions[i];
actions[i] = actions[j];
actions[j] = tmp;
}
return actions;
}
}
作者:Krahets
链接:
https://leetcode.cn/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/solutions/115087/mian-shi-ti-21-diao-zheng-shu-zu-shun-xu-shi-qi-4/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。