我想了兩個方法。
第一個
是使用一個指針,因為是有序的,只需要從頭移動到尾部,如果發現下一個元素與當前元素相等,則移動當前元素之后的元素,把相同的元素覆蓋掉。
大致的步驟如下

第二個
是使用兩個指針,一個快(j)一個慢(i),如果i j 所指向的元素不相等,則i j 同時加一,如果相等,則將j向后移動直到兩者所指向的元素不相等。
上一步就相當於確定了移動的步伐,下一步就是移動了。
大致步驟如下

方法二比起方法一來說移動的次數會更加少一點。
具體代碼請查看我的GitHub。
我想了兩個方法。
第一個
是使用一個指針,因為是有序的,只需要從頭移動到尾部,如果發現下一個元素與當前元素相等,則移動當前元素之后的元素,把相同的元素覆蓋掉。
大致的步驟如下

第二個
是使用兩個指針,一個快(j)一個慢(i),如果i j 所指向的元素不相等,則i j 同時加一,如果相等,則將j向后移動直到兩者所指向的元素不相等。
上一步就相當於確定了移動的步伐,下一步就是移動了。
大致步驟如下

方法二比起方法一來說移動的次數會更加少一點。
具體代碼請查看我的GitHub。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。