leetcode——1171. 从链表中删去总和值为零的连续节点
Posted 欣姐姐
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode——1171. 从链表中删去总和值为零的连续节点相关的知识,希望对你有一定的参考价值。
# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def removeZeroSumSublists(self, head: ListNode) -> ListNode: r=[] while head: r.append(head.val) head=head.next #print(r) i=0 while i<len(r): sum=r[i] j=i+1 while j<len(r) and sum!=0: sum+=r[j] j+=1 #print(i,j,sum) if sum==0: r=r[:i]+r[j:] else: i+=1 head=ListNode(0) p=head for i in range(len(r)): p.next=ListNode(r[i]) p=p.next return head.next
执行用时 :180 ms, 在所有 python3 提交中击败了32.63%的用户
内存消耗 :13.9 MB, 在所有 python3 提交中击败了100.00%的用户
执行用时为 48 ms 的范例 # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None class Solution: def removeZeroSumSublists(self, head: ListNode) -> ListNode: handle = ListNode(0) handle.next = cur = head prefix = 0 m = {0:handle} while cur: prefix += cur.val if prefix in m: m[prefix].next = cur.next else: m[prefix] = cur cur = cur.next return handle.next
这个我还不能看得太懂,不会做。。。。
——2019.10.24
以上是关于leetcode——1171. 从链表中删去总和值为零的连续节点的主要内容,如果未能解决你的问题,请参考以下文章
leetcode链表--18remove-nth-node-from-end-of-list(从链表中删除倒数第k个结点)