LeetCode 283. Move Zeroes (移動零)

來源:互聯網
上載者:User

標籤:calling   inter   www   time   imm   with   making   swap   iter   

Given an array nums, write a function to move all 0‘s to the end of it while maintaining the relative order of the non-zero elements.

For example, given nums = [0, 1, 0, 3, 12], after calling your function, nums should be [1, 3, 12, 0, 0].

Note:

  1. You must do this in-place without making a copy of the array.
  2. Minimize the total number of operations.

 

題目標籤:Array, Two Pointers

  題目給了我們一個nums array, 讓我們把所有的0 都移動到最後面,保留其他數位排序。

  利用two pointers p1 和 p2, 基本思想是讓p2停留在0的數字上,讓p1找到不是0的數字,對換p1 p2的值。

  遍曆nums array,當遇到0的話,p1++;當遇到不是0的數字,對換p1 和 p2的值,p1++ p2++。

 

Java Solution:

Runtime beats 74.14% 

完成日期:04/27/2017

關鍵詞:Array, Two Pointers

關鍵點:找到不是0的數字,與0置換

 

 1 public class Solution  2 { 3     public void moveZeroes(int[] nums)  4     { 5         int p1 = 0; // iterate each number 6         int p2 = 0; // stop at 0  7          8         while(p1 < nums.length) 9         {10             if(nums[p1] != 0) // find the non-zero number11             {12                 if(p1 != p2) // swap non-zero number with zero number 13                 {             // if p1 = p2, no need to swap14                     int temp = nums[p1];15                     nums[p1] = nums[p2];16                     nums[p2] = temp;17                 }18                 19                 p2++;20             }21             22             p1++;23         }24 25     }26 }

參考資料:N/A

 

LeetCode 演算法題目列表 - LeetCode Algorithms Questions List

 

LeetCode 283. Move Zeroes (移動零)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.