leetcode104 MaximumDepthOfTree classSolution():defmaximunDepthOfTree(self,root):ifrootisNone:return0## 分治算法left=self.maximunDepthOfTree(root.left)right=self.maximunDepthOfTree(root.right)## 忽略具体过程,想象左右子树长度已经得到depth=max(left,right)+1returndepth 二叉树节点的最近公共祖先 leetco...
class Solution(object): def zigzagLevelOrder(self, root): """ :type root: TreeNode :rtype: List[List[int]] """ q = Queue() if root is None: return [] q.put(root) flag = 0 # 使用flag记录结果是否翻转 s = [] while not q.empty(): l = [] new_q = Queue() for node in...
#Definition for a binary tree node.#class TreeNode:#def __init__(self, val=0, left=None, right=None):#self.val = val#self.left = left#self.right = rightclassSolution:defvalidBST(self,root,small,large):ifroot==None:returnTrueifsmall>=root.valorlarge<=root.val:returnFalsereturnself.v...
注意: 合并必须从两个树的根节点开始。 1classSolution:2defmergeTrees(self, t1: TreeNode, t2: TreeNode) ->TreeNode:3ifnott1andt2:4returnt25elift1andt2:6t1.val = t1.val +t2.val7t1.left =self.mergeTrees(t1.left,t2.left)8t1.right =self.mergeTrees(t1.right,t2.right)9returnt1...
classSolution:defisSymmetric(self,root:TreeNode)->bool:ifnot root:returnTrueelse:returnself.isSymmetricTree(root.left,root.right)defisSymmetricTree(self,left,right):ifleft is None and right is None:returnTrue #同时为空ifleft is None or right is None:returnFalse #一个为空ifleft.val!=right....
classSolution(object):defbuildTree(self,preorder,inorder):iflen(preorder)==0:returnNoneiflen(preorder)==1:returnTreeNode(preorder[0])root=TreeNode(preorder[0])index=inorder.index(root.val)# 中序中根节点的位置,左边即为左子树,右边由子树 ...
LeetCode-Solution-Python 说明 这个代码仓库是我在学习《算法与数据结构》的时候,在 LeetCode(英文版) 和LeetCode(中文版) 上做的练习, 。 所有的代码都是通过 LeetCode 在线测评系统检测的,至少是正确的代码,但不一定是时间复杂度和空间复杂度最优的。 建议您安装 Octotree 插件,以获得最佳的阅读体验。 配套...
建议您安装Octotree 插件,以获得最佳的阅读体验。 对应的 Java 仓库的地址,传送门:https://github.com/liweiwei1419/LeetCode-Solution-Java 说明:现在刷题,尤其是写题解,绝大多数问题都会写两个语言的代码,Java 是我的母语,Python 是我的新欢。 发布在 LeetCode 中文版上的题解配图使用的 PPT,传送门:https:...
Python3版本 class Solution: def isSymmetric(self, root: TreeNode) -> bool: if root is None: return True # 如果根节点为空,返回True,空树被认为是对称的 return self.isMirror(root.left, root.right) def isMirror(self, left: TreeNode, right: TreeNode) -> bool: ...
Python class Solution: def buildTree(self, preorder: List[int], inorder: List[int]) -> TreeNode: def myBuildTree(preorder_left, preorder_right, inorder_left, inorder_right): if preorder_left > preorder_right: return preorder_root = preorder_left # 根节点index inorder_root = index...