二叉树
fairy净
这个作者很懒,什么都没留下…
展开
-
leetcode102. 二叉树的层次遍历 &111&104&107
def levelOrder(self, root): """ 和普通的层次遍历不一样的地方是输出结果是每层一个列表的形式 """ if not root: return [] res = [] arr = [] stack = [root] ####存放每一...原创 2018-10-04 10:07:29 · 207 阅读 · 0 评论 -
leetcode 104二叉树的最大深度 & 111二叉树最小深度
def maxDepth(root): """ 非递归,用栈表示,stack栈存储节点 """ if not root: return 0 count = 0 stack = [root] ####存放每一层的子节点 tmp = [] ###临时存放每一层的...原创 2018-10-18 18:55:52 · 142 阅读 · 0 评论 -
leetcode226. 翻转二叉树
def invertTree(self, root): """ 递归实现 """ if not root: return None t = root.left root.left = root.right root.right = t self....原创 2018-10-18 19:06:27 · 123 阅读 · 0 评论 -
leetcode100. 相同的树
def isSameTree(self, p, q): """ 递归实现: 边界条件的判断: 1.如果都为空 返回true 2.如果其中一个为空另一个不为空,返回false 3.如果val值不相等返回空 """ if not p and not q: ...原创 2018-10-18 19:30:48 · 119 阅读 · 0 评论 -
leetcode101 对称二叉树
def isSymmetric(self, root): if root is None: return True return self.help(root.left, root.right) def help(self, left, right): ’‘’ 终止条件是左子树和右子树是叶...原创 2018-10-18 20:25:28 · 114 阅读 · 0 评论 -
leetcode 112. 路径总和
def hasPathSum(self, root, sum): """ 1.判断条件:如果判断sum==0为true,会出现不是叶子节点的情况 2.判断条件是叶子节点的val == sum """ if not root: return False if not root.l...原创 2018-10-18 21:40:02 · 122 阅读 · 0 评论 -
leetcode404 左叶子之和
def sumOfLeftLeaves(self, root): """ 判断左叶子节点是难点 """ res = 0 if not root: return 0 if root.left and not root.left.left and not root.left.ri...原创 2018-10-18 22:01:17 · 149 阅读 · 0 评论