随笔分类 -  leetcode

leetcode刷题记录
摘要:似懂非懂。。 class Solution: def diameterOfBinaryTree(self, root: TreeNode) -> int: self.ans=1 def depth(node): if not node: return 0 L=depth(node.left) R=d 阅读全文
posted @ 2019-11-22 22:51 欣姐姐 阅读(178) 评论(0) 推荐(0)
摘要:不是自己写的。。 class Solution: def smallestFromLeaf(self, root: TreeNode) -> str: self.ans="~" def dfs(node,A): if node: A.append(chr(node.val+ord('a'))) if 阅读全文
posted @ 2019-11-22 22:36 欣姐姐 阅读(189) 评论(0) 推荐(0)
摘要:很简单,,但是自己还是没写出来。。。。 class Solution: def sumNumbers(self, root: TreeNode) -> int: self.res=0 def helper(root,tmp): if not root:return if not root.left 阅读全文
posted @ 2019-11-22 22:23 欣姐姐 阅读(145) 评论(0) 推荐(0)
摘要:自己还是没做出来。。 class Solution: def binaryTreePaths(self, root: TreeNode) -> List[str]: if not root: return [] res=[] def helper(root,temp): if not root.le 阅读全文
posted @ 2019-11-21 20:15 欣姐姐 阅读(167) 评论(0) 推荐(0)
摘要:同看懂做不出来。。。 class Solution: def pathSum(self, root: TreeNode, sum: int) -> List[List[int]]: res=[] if not root: return [] def helper(root,sum,tmp): if 阅读全文
posted @ 2019-11-21 20:06 欣姐姐 阅读(184) 评论(0) 推荐(0)
摘要:class Solution: def pathSum(self, root: TreeNode, sum: int) -> int: if not root: return 0 def dfs(node,sums): left=right=0 temp=[num+node.val for num 阅读全文
posted @ 2019-11-21 19:52 欣姐姐 阅读(165) 评论(0) 推荐(0)
摘要:class Solution: def longestUnivaluePath(self, root: TreeNode) -> int: self.ans=0 def arrow_length(node): if not node: return 0 left_length=arrow_lengt 阅读全文
posted @ 2019-11-21 19:25 欣姐姐 阅读(167) 评论(0) 推荐(0)
摘要:class Solution: def isUnivalTree(self, root: TreeNode) -> bool: if not root: return True else: a=root.val if root.left and root.left.val!=a: return Fa 阅读全文
posted @ 2019-11-21 18:56 欣姐姐 阅读(120) 评论(0) 推荐(0)
摘要:class Solution: def sumOfLeftLeaves(self, root: TreeNode) -> int: if not root: return 0 if root and root.left and not root.left.left and not root.left 阅读全文
posted @ 2019-11-20 15:46 欣姐姐 阅读(99) 评论(0) 推荐(0)
摘要:并没有理解这种递归想法: class Solution: def __init__(self): self.ans=None def lowestCommonAncestor(self, root: 'TreeNode', p: 'TreeNode', q: 'TreeNode') -> 'Tree 阅读全文
posted @ 2019-11-19 17:24 欣姐姐 阅读(160) 评论(0) 推荐(0)
摘要:class Solution: def lowestCommonAncestor(self, root: 'TreeNode', p: 'TreeNode', q: 'TreeNode') -> 'TreeNode': if p.val>q.val: p,q=q,p if q.val<root.va 阅读全文
posted @ 2019-11-19 16:26 欣姐姐 阅读(78) 评论(0) 推荐(0)
摘要:暴力法: class Solution: def countNodes(self, root: TreeNode) -> int: if not root: return 0 else: return 1+self.countNodes(root.left)+self.countNodes(root 阅读全文
posted @ 2019-11-19 15:48 欣姐姐 阅读(176) 评论(0) 推荐(0)
摘要:class Solution: def invertTree(self, root: TreeNode) -> TreeNode: if not root: return root def helper(node): if node: if node.left or node.right: node 阅读全文
posted @ 2019-11-19 15:08 欣姐姐 阅读(144) 评论(0) 推荐(0)
摘要:class Solution: def hasPathSum(self, root: TreeNode, sum: int) -> bool: if not root: return False if not root.left and not root.right and sum - root.v 阅读全文
posted @ 2019-11-17 22:24 欣姐姐 阅读(122) 评论(0) 推荐(0)
摘要:好开心,我终于独立完成了!!!! class Solution: def sortedArrayToBST(self, nums: List[int]) -> TreeNode: if len(nums)==0: return None i=len(nums)//2 root=TreeNode(nu 阅读全文
posted @ 2019-11-15 11:51 欣姐姐 阅读(128) 评论(0) 推荐(0)
摘要:class Solution: def isBalanced(self, root: TreeNode) -> bool: if not root: return True def helper(node): if not node: return 0 left=helper(node.left) 阅读全文
posted @ 2019-11-15 11:39 欣姐姐 阅读(115) 评论(0) 推荐(0)
摘要:同111题 class Solution(object): def maxDepth(self, root): """ :type root: TreeNode :rtype: int """ if not root: return 0 left = self.maxDepth(root.left) 阅读全文
posted @ 2019-11-15 11:12 欣姐姐 阅读(151) 评论(0) 推荐(0)
摘要:0.。。。。 class Solution(object): def minDepth(self, root): """ :type root: TreeNode :rtype: int """ if not root: return 0 left = self.minDepth(root.left 阅读全文
posted @ 2019-11-15 11:09 欣姐姐 阅读(200) 评论(0) 推荐(0)
摘要:不是自己想出来的,什么时候才能独立完成树的题。 class Solution(object): def levelOrder(self, root): """ :type root: TreeNode :rtype: List[List[int]] """ levels=[] if not root 阅读全文
posted @ 2019-11-15 10:24 欣姐姐 阅读(192) 评论(0) 推荐(0)
摘要:0 class Solution: def numTrees(self, n: int) -> int: dp = [0] * (n + 1) dp[0] = 1 dp[1] = 1 for i in range(2, n + 1): for j in range(i): dp[i] += dp[j 阅读全文
posted @ 2019-11-13 16:50 欣姐姐 阅读(102) 评论(0) 推荐(0)