LeetCode83-ソートされたリスト内の他の要素の繰り返し
最近の全国流行が深刻で、何も自宅での滞在は、春のリゾート地に再び準備ができて、やって、最近の問題を磨く、それを記録!そして再び、武漢はマスクを着用することを覚えて外出、さあ!
1、タイトル
ソートされたリストを考えると、各要素が1回だけ発生だから、すべての重複要素を削除します。
例1:
输入: 1->1->2
输出: 1->2
例2:
输入: 1->1->2->3->3
输出: 1->2->3
2、思考
ライト・コードへの2つの例。
ケース1:現在および次のノードの値が同じノードである場合、次のノードが削除された
場合2:点と次現在のノードの値が異なる場合、次のノードへのポインタ。
3、コード
C ++
class Solution {
public:
ListNode* deleteDuplicates(ListNode* head) {
auto cur=head;
while(cur)
{
//下一个节点的值和当前节点的值相同,则删除下一个节点
if(cur->next&&cur->val==cur->next->val)
{
cur->next=cur->next->next;
}
//下一个几点的值和当前节点的值不同,则指针移到下一个节点。
else cur=cur->next;
}
return head;
}
};
ジャワ
class Solution {
public ListNode deleteDuplicates(ListNode head) {
ListNode cur=head;
while(cur!=null)
{
//下一个节点的值和当前节点的值相同,则删除下一个节点
if(cur.next!=null&&cur.val==cur.next.val)
{
cur.next=cur.next.next;
}
//下一个几点的值和当前节点的值不同,则指针移到下一个节点。
else cur=cur.next;
}
return head;
}
}