leetcode刷題打卡 283移動零

2021-10-12 14:31:43 字數 607 閱讀 1225

題目描述:

給定乙個陣列 nums,編寫乙個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。

示例:

輸入:[0

,1,0

,3,12

]輸出:[1

,3,12

,0,0

]

說明:

必須在原陣列上操作,不能拷貝額外的陣列。

儘量減少操作次數。

解題思路:

定義兩個指標 a、b,指標a一直在遍歷原陣列,

指標a、b一起動,當指標b指向的元素為0時,b不能動,而a沒有任何限制一直在遍歷。

當a遍歷到的元素不為0時,a、b兩指標元素交換,並且b++前進一位。

然後又繼續重複上述步驟,動態圖如下:

具體**:

class

solution

int temp;

int b=0;

for(

int a=

0;a}}

Leetcode刷題283 移動零

方法1 把陣列中j個非零元素存放在陣列的前j項,之後把後邊的元素設定為0即可,如下 class solution def movezeroes self,nums list int none do not return anything,modify nums in place instead.j ...

LeetCode刷題打卡(3)

判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。首先,可以排除負數。負數一定不是回文數。拿到這一題,我感覺思路和整數翻轉那道題差不多,通過比較翻轉後的數與原來的數是否相等,可以判斷該數是否為回文數。因為要考慮int溢位的問題,且已經排除了負數,我把翻轉後的數定...

LeetCode刷題打卡(4)

給定乙個字串,請你找出其中不含有重複字元的最長子串的長度。輸入 pwwkew 輸出 3 解釋 因為無重複字元的最長子串是 wke 所以其長度為 3。請注意,你的答案必須是 子串 的長度,pwke 是乙個子串行,不是子串。要查詢無重複字元的最長子串,至少要從左往右掃瞄一遍。為了確定字串有無重複及重複的...