首页 > 代码库 > LintCode Python 简单级题目 452.删除链表中的元素
LintCode Python 简单级题目 452.删除链表中的元素
原题描述:
删除链表中等于给定值val
的所有节点。
您在真实的面试中是否遇到过这个题?
Yes
样例
给出链表 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.删除链表中的元素
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。