zoukankan      html  css  js  c++  java
  • LeetCode——Remove Duplicates from Sorted List II

    Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.

    For example,
    Given 1->2->3->3->4->4->5, return 1->2->5.
    Given 1->1->1->2->3, return 2->3.

    原题链接:https://oj.leetcode.com/problems/remove-duplicates-from-sorted-list-ii/

    题目:给定一个已排序的链表,删除反复的元素。仅仅留下源链表中唯一出现的那些元素。

    思路:首先防止把头节点删除。构建一个虚拟的头节点。

    因为是已排序的。相等的元素就在相邻的位置上。发现有相邻的元素。则指针依次向后指,直到没有相等的相邻元素为止。

    	public ListNode deleteDuplicates(ListNode head) {
    		if (head == null || head.next == null)
    			return head;
    
    		ListNode dummy = new ListNode(0);
    		dummy.next = head;
    		head = dummy;
    
    		while (head.next != null && head.next.next != null) {
    			if (head.next.val == head.next.next.val) {
    				int val = head.next.val;
    				while (head.next != null && head.next.val == val) {
    					head.next = head.next.next;
    				}
    			} else {
    				head = head.next;
    			}
    		}
    
    		return dummy.next;
    	}
    
    	// Definition for singly-linked list.
    	public class ListNode {
    		int val;
    		ListNode next;
    
    		ListNode(int x) {
    			val = x;
    			next = null;
    		}
    	}
    



  • 相关阅读:
    软件测试原则
    java知识点
    jquery取值
    Javaweb命名规则
    @ResponseBody
    jquery ajax 方法及各参数详解
    @RequestMapping用法详解
    eclipse+android+opencv环境搭建的步骤
    Java中的内部类(回调)
    OpenCV直方图(直方图、直方图均衡,直方图匹配,原理、实现)
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/6857901.html
Copyright © 2011-2022 走看看