摘要:
算法思路:BFS 参考:https://leetcode.com/problems/clone-graph/discuss/440722/Python-3-BFS 阅读全文
摘要:
1 class Solution: 2 def singleNumber(self, nums: 'List[int]') -> int: 3 dic = {} 4 for n in nums: 5 if n not in dic: 6 dic[n] = 1 7 else: 8 dic[n] += 1 9 for k,v in dic.items(): 10 if v == 1: 11 retur 阅读全文
摘要:
初始化dp所有单元格为maxsize值,定义dp[1][1]表示第一层第一列,是三角中的顶部元素2。 从第二行开始,每个单元格取其左上角和正上方两个单元格中的较小的值,再加上当前节点的值。 则最后一行中的最小值,即为所求。 阅读全文
摘要:
1 class Solution: 2 def __init__(self): 3 self.lists = [] 4 5 def preOrder(self,root,path): 6 if root != None: 7 path.append(str(root.val)) 8 ... 阅读全文
摘要:
先找到链表的中间节点,然后从中间节点将链表一分为二。 将后半部分的节点倒序。然后轮流从两个链表中选择节点连接在一起。 参考:https://leetcode.com/problems/reorder-list/discuss/447242/python-solution 阅读全文
摘要:
1 class Solution: 2 def constructLink(self,lists): 3 n = len(lists) 4 if n == 0: 5 return None 6 if n == 1: 7 return ListNode(lists[0]) 8 ... 阅读全文
摘要:
1 class Solution: 2 def findRepeatedDnaSequences(self, s: str) -> 'List[str]': 3 n = len(s) 4 if n 1: 20 res.append(k) 21 return res 阅读全文
摘要:
本题和leetcode116的区别是,116题是完全二叉树,本题是普通二叉树(不一定是完全二叉树)。 但当初做116题的时候,并没有使用完全二叉树这个条件,因此当初的解决方案,完全适用于本题。 阅读全文
摘要:
本题与leetcode105是同一类的问题。 leetcode105是使用前序和中序构建二叉树,本题是使用中序和后序构建二叉树。 注意,前、中、后三种序列中,只需中序和另外任意一种序列,即可构建二叉树。但是只有前序和后序是无法唯一确定二叉树结构的。 阅读全文
摘要:
二叉树层次遍历,最后返回每一层的最后一个节点组成的集合。 阅读全文