找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1312|回复: 1
收起左侧

[刷题记录板] [leetcode] (Dec,14)每天两道题目,配 python参考解答

[复制链接]

20

主题

5

精华

586

积分

超级会员

Rank: 4

积分
586
发表于 12-14-2014 12:03 PM | 显示全部楼层 |阅读模式

亲!马上注册或者登录会查看更多内容!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
题目(一):Remove Duplicates from Sorted List
Given a sorted linked list, delete all duplicates such that each element appear only once.

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


题目(二):
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.


图片割开参考答案:

题目(一):                                                              题目(二):





python参考解答:
题目(一):
[code]# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    # @param head, a ListNode
    # @return a ListNode
    def deleteDuplicates(self, head):
        if head == None or head.next == None:
            return head
        p = head
        while p.next:
            if p.val == p.next.val:
                p.next = p.next.next
            else:
                p = p.next
        return head[/code]




补充内容 (12-14-2014 12:04 PM):
不小心点错了,题目二看二楼吧

本帖被以下淘专辑推荐:

20

主题

5

精华

586

积分

超级会员

Rank: 4

积分
586
 楼主| 发表于 12-14-2014 12:05 PM | 显示全部楼层
题目(二):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.



题目(二):Remove Duplicates from Sorted List II
  1. # Definition for singly-linked list.
  2. # class ListNode:
  3. #     def __init__(self, x):
  4. #         self.val = x
  5. #         self.next = None

  6. class Solution:
  7.     # @param head, a ListNode
  8.     # @return a ListNode
  9.     def deleteDuplicates(self, head):
  10.         if head == None or head.next == None:
  11.             return head
  12.         dummy = ListNode(0); dummy.next = head
  13.         p = dummy
  14.         tmp = dummy.next
  15.         while p.next:
  16.             while tmp.next and tmp.next.val == p.next.val:
  17.                 tmp = tmp.next
  18.             if tmp == p.next:
  19.                 p = p.next
  20.                 tmp = p.next
  21.             else:
  22.                 p.next = tmp.next
  23.         return dummy.next
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表