0
点赞
收藏
分享

微信扫一扫

leetcode 删除排序链表中的重复数字

古月无语 2022-04-30 阅读 68

算法思想,首先有一个循环的链表节点,如果当前节点的值和后面节点的值一样的话,就把当前节点的next指向下下一个节点,(这一步的做法,不会漏掉只比较相邻节点,这个算法巧妙点在于判断当前节点和下一个节点是否一样,一样的话,将当前节点的下一个节点指向下下一个节点)否则的话,就链表后移

/**

 * Definition for singly-linked list.

 * public class ListNode {

 *     int val;

 *     ListNode next;

 *     ListNode() {}

 *     ListNode(int val) { this.val = val; }

 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }

 * }

 */

class Solution {

    public ListNode deleteDuplicates(ListNode head) {

     

        ListNode move = head;

        while(move!=null &&move.next!=null){

           

            //移动move

            if(move.val == move.next.val){

                move.next = move.next.next;

            }else{

                //走正常的循环

               move = move.next;

            }

           

        }

        return head;

    }

}

举报

相关推荐

0 条评论