标签:.com write round head 元素 not div 返回 solution
原题描述:
删除链表中等于给定值val
的所有节点。
给出链表 1->2->3->3->4->5->3
, 和 val = 3
, 你需要返回删除3之后的链表:1->2->4->5
。
题目分析:
删除链表中等于给定值val
的所有节点。
遍历链表,找到其中next.val等于val的节点,删除。
注意的地方就是可能链表中的所有元素val都等于val,循环的开始需要从表头开始删除,需要新增一个头节点。
源码:
# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: # @param head, a ListNode # @param val, an integer # @return a ListNode def removeElements(self, head, val): # Write your code here if head is None: return None # 可能链表中的所有元素val都等于val,所以需要新增一个头节点 new = ListNode(0) new.next = head head = new pre = head # 遍历链表,删除等于val的所有节点 while pre.next is not None: if pre.next.val == val: pre.next = pre.next.next else: pre = pre.next return new.next
LintCode Python 简单级题目 452.删除链表中的元素
标签:.com write round head 元素 not div 返回 solution
原文地址:http://www.cnblogs.com/bozhou/p/6956043.html