1. 程式人生 > >LeetCode:刪除排序陣列中的重複項 (Remove Duplicates from Sorted Array)

LeetCode:刪除排序陣列中的重複項 (Remove Duplicates from Sorted Array)

public class RemoveDuplicates {
    /**
     * 修改陣列,使陣列有序不重複。超出長度不考慮。
     * @param 排序陣列
     * @return 陣列不重複數的個數
     */
    public int removeDuplicates(int[] nums) {
        // 需要修改的元素的索引,從1開始
        int index = 1;
        // 遍歷陣列,次數是長度-1
        for (int i = 0; i < nums.length - 1; i++) {
            
// 對相鄰數進行異或,相同數異或值為0 if ((nums[i] ^ nums[i + 1]) != 0) { // 兩個數不同時,將後續數放到索引位置,同時索引自增 nums[index++] = nums[i + 1]; } } //直接返回索引,因為索引在改變元素後自增,等於有序陣列長度 return index; } }