我想了两个方法。
第一个
是使用一个指针,因为是有序的,只需要从头移动到尾部,如果发现下一个元素与当前元素相等,则移动当前元素之后的元素,把相同的元素覆盖掉。
大致的步骤如下
第二个
是使用两个指针,一个快(j)一个慢(i),如果i j 所指向的元素不相等,则i j 同时加一,如果相等,则将j向后移动直到两者所指向的元素不相等。
上一步就相当于确定了移动的步伐,下一步就是移动了。
大致步骤如下
方法二比起方法一来说移动的次数会更加少一点。
具体代码请查看我的GitHub。
我想了两个方法。
第一个
是使用一个指针,因为是有序的,只需要从头移动到尾部,如果发现下一个元素与当前元素相等,则移动当前元素之后的元素,把相同的元素覆盖掉。
大致的步骤如下
第二个
是使用两个指针,一个快(j)一个慢(i),如果i j 所指向的元素不相等,则i j 同时加一,如果相等,则将j向后移动直到两者所指向的元素不相等。
上一步就相当于确定了移动的步伐,下一步就是移动了。
大致步骤如下
方法二比起方法一来说移动的次数会更加少一点。
具体代码请查看我的GitHub。
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。