public class Solution
{
public void modifyArr(int[] arr)
{
//边界条件,数组为空的情况。
if (arr == null || arr.length == 0)
return;
//类似于快排,迅速定位到不合法的位置。并且交换位置。
int left = 0;
int right = arr.length - 1;
while (left < right)
{
while (left < right && function(arr[left]))
{
left++;
}
while (left < right && !function(arr[right]))
{
right--;
}
if (left < right)
{
int temp = arr[left];
arr[left] = arr[right];
arr[right] = temp;
}
}
}
//为了代码的延展性,把判定方法设定为一个方法,不同请求只需要修改function方法即可。
private boolean function(int value)
{
if (value % 2 == 0)
return true;
return false;
}
}
《剑指offer》NO21 调整数组顺序使奇数位于偶数前面 详解 <Java实现>
最新推荐文章于 2023-03-21 10:15:27 发布