美文网首页
905. 按奇偶排序数组

905. 按奇偶排序数组

作者: 郭昊峰 | 来源:发表于2019-01-01 18:08 被阅读0次

    给定一个非负整数数组 A,返回一个由 A 的所有偶数元素组成的数组,后面跟 A 的所有奇数元素。

    你可以返回满足此条件的任何数组作为答案。

    示例:

    输入:[3,1,2,4]输出:[2,4,3,1]输出 [4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 也会被接受。

    直觉是通过for、if分开奇偶数,这个比较简单:

    public class Solution {

        public int[] SortArrayByParity(int[] A) {

            int[] arr = new int[A.Length];

                int top = 0;

                int bottom = A.Length - 1;

                for (int i = 0; i < A.Length; i++)

                {

                    if (A[i] % 2 == 0)

                    {

                        arr[top] = A[i];

                        top++;

                    }

                    else

                    {

                        arr[bottom] = A[i];

                        bottom--;

                    }

                }

                return arr;

        }

    }

    还有比较取巧的办法:

    public class Solution {

        public int[] SortArrayByParity(int[] A) {

            int index = 0;

                for (int i = 0; i < A.Length; i++) {

                    if ((A[i] & 1) == 0) {

                        int tmp = A[i];

                        A[i] = A[index];

                        A[index++] = tmp;

                    }

                }

                return A;

        }

    }

    相关文章

      网友评论

          本文标题:905. 按奇偶排序数组

          本文链接:https://www.haomeiwen.com/subject/ooznlqtx.html