博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode Online Judge 题目C# 练习 - Remove Duplicates from Sorted List II
阅读量:5159 次
发布时间:2019-06-13

本文共 1684 字,大约阅读时间需要 5 分钟。

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.

1         public static LinkedListNode RemoveDuplicatesfromSortedListIIOpt(LinkedListNode head) 2         { 3             if (head == null || head.Next == null) 4                 return head; 5  6             LinkedListNode fakeHead = new LinkedListNode(); 7             LinkedListNode prev = fakeHead; 8             prev.Next = head; 9             LinkedListNode curr = head;10 11             while (curr != null && curr.Next != null)12             {13                 //curr Node has duplicated14                 if ((int)curr.Value == (int)curr.Next.Value)15                 {16                     //find the next Node, which value != curr.value17                     int temp = (int)curr.Value;18                     curr = curr.Next;19                     while (curr != null && (int)curr.Value == temp)20                     {21                         curr = curr.Next;22                     }23                     prev.Next = curr;24                 }25                 //curr Node has no duplicated26                 else27                 {28                     prev = prev.Next;29                     curr = curr.Next;30                 }31             }32 33             return fakeHead.Next;34         }

代码分析:

  这一题稍稍有点tricky。我还是创建了一个fakeNode,用来连接head,返回的时候返回fakeHead.Next, 这样下面的逻辑就适合所有的Node了,而不用去特殊处理第一个Node就有duplicate 的 corner case。

  这种题虽然是BF,没什么好复习的,但是还是要小心再小心,不容易写出BUG FREE的CODE。

转载于:https://www.cnblogs.com/etcow/archive/2012/10/12/2720698.html

你可能感兴趣的文章
(转)Linxu磁盘体系知识介绍及磁盘介绍
查看>>
tkinter布局
查看>>
命令ord
查看>>
Sharepoint 2013搜索服务配置总结(实战)
查看>>
博客盈利请先考虑这七点
查看>>
使用 XMLBeans 进行编程
查看>>
写接口请求类型为get或post的时,参数定义的几种方式,如何用注解(原创)--雷锋...
查看>>
【OpenJ_Bailian - 2287】Tian Ji -- The Horse Racing (贪心)
查看>>
Java网络编程--socket服务器端与客户端讲解
查看>>
List_统计输入数值的各种值
查看>>
学习笔记-KMP算法
查看>>
Timer-triggered memory-to-memory DMA transfer demonstrator
查看>>
跨域问题整理
查看>>
[Linux]文件浏览
查看>>
64位主机64位oracle下装32位客户端ODAC(NFPACS版)
查看>>
获取国内随机IP的函数
查看>>
今天第一次写博客
查看>>
江城子·己亥年戊辰月丁丑日话凄凉
查看>>
IP V4 和 IP V6 初识
查看>>
Spring Mvc模式下Jquery Ajax 与后台交互操作
查看>>