刷题LeetCode 剑指offer21

本人新手为了面试互联网公司,将刷题做一个记录以及总结,方便之后学习!!

第19道问题 剑指offer 21为一道简单题

题目:

力扣icon-default.png?t=L892https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof/刷题LeetCode 剑指offer21_第1张图片

1.自己思路

构建一个栈,存储偶数,之后将其加入到数组中,从后向前加入,栈为先入后出。

class Solution {
    public int[] exchange(int[] nums) {
      int n = nums.length;
      int count=0;
      Stack stack = new Stack<>();
      for(int i=0;i

结果:

2.参考题解

利用快排的思想,左右两个指针

class Solution {
    public int[] exchange(int[] nums) {
      int n = nums.length;
      int l=0,r=n-1;
      while(l

 结果:

总结:

1.利用其它容器或者数组总的来说增加了内存的占用,不好。

2.双指针算法NB. 

你可能感兴趣的:(leetcode,面试,算法)