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

Posted 放羊的牧码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode(剑指 Offer)- 21. 调整数组顺序使奇数位于偶数前面相关的知识,希望对你有一定的参考价值。

题目链接:点击打开链接

题目大意:

解题思路:

相关企业

  • 字节跳动

AC 代码

  • Java
// 解决方案(1)
class Solution 
    public int[] exchange(int[] nums) 
        int len = nums.length;
        List<Integer> l1 = new ArrayList<>();
        List<Integer> l2 = new ArrayList<>();
        for (int i = 0; i < len; i++) 
            if (nums[i] % 2 != 0) 
                l1.add(nums[i]);
             else 
                l2.add(nums[i]);
            
        
        l1.addAll(l2);
        int[] rs = new int[len];
        for (int i = 0; i < l1.size(); i++) 
            rs[i] = l1.get(i);
        
        return rs;
    


// 解决方案(2)
class Solution 
    public int[] exchange(int[] nums) 
        int i = 0, j = nums.length - 1, tmp;
        while(i < j) 
            while(i < j && (nums[i] & 1) == 1) i++;
            while(i < j && (nums[j] & 1) == 0) j--;
            tmp = nums[i];
            nums[i] = nums[j];
            nums[j] = tmp;
        
        return nums;
    
  • C++
class Solution 
public:
    vector<int> exchange(vector<int>& nums)
    
        int i = 0, j = nums.size() - 1;
        while (i < j)
        
            while(i < j && (nums[i] & 1) == 1) i++;
            while(i < j && (nums[j] & 1) == 0) j--;
            swap(nums[i], nums[j]);
        
        return nums;
    
;

以上是关于LeetCode(剑指 Offer)- 21. 调整数组顺序使奇数位于偶数前面的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode1720. 解码异或后的数组; 剑指offer21/22/23/24

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

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

#yyds干货盘点#剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

LeetCode JavaScript实现 合并链表 题型汇总

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