1
0
mirror of https://github.com/SunnyQjm/algorithm-review.git synced 2026-06-03 08:16:43 +08:00
This commit is contained in:
2020-06-28 22:31:14 +08:00
parent 19bc63cf1b
commit 3031745b15
9 changed files with 13 additions and 9 deletions
@@ -59,6 +59,7 @@ class Solution:
2. 如果找到一个节点,其值大于等于left.val,且小于等于right.val,则该节点即为要求的结果
3. 如果当前节点不是目标节点,则对左右子树进行递归遍历
"""
def preOrderTraversal(root, left, right):
if not root or (left.val <= root.val <= right.val):
return root
@@ -70,5 +71,3 @@ class Solution:
left = p if p.val < q.val else q
right = p if p.val >= q.val else q
return preOrderTraversal(root, left, right)
+3
View File
@@ -31,6 +31,7 @@
# 返回 false 。
#######################################################################################
class TreeNode:
def __init__(self, x):
self.val = x
@@ -55,6 +56,7 @@ class Solution:
2. 根据AVL树的特性,如果任意一个节点的左右子树的高度差大于一,则该树不是AVL树,标记器高度为-1;
3. 如果某个子树的高度计算为-1,则表示该子树不是AVL树,-1会一直传递到顶层。
"""
def preOrderTraversal(root):
if not root:
return 0
@@ -63,4 +65,5 @@ class Solution:
if leftNum == -1 or rightNum == -1 or abs(leftNum - rightNum) > 1:
return -1
return 1 + max(leftNum, rightNum)
return preOrderTraversal(root) != -1
+2 -1
View File
@@ -21,6 +21,7 @@
# 解释: 所有根节点到叶子节点的路径为: 1->2->5, 1->3
#######################################################################################
class TreeNode:
def __init__(self, x):
self.val = x
@@ -44,6 +45,7 @@ class Solution:
1. 递归的进行先序遍历,过程中记录走过的路径;
2. 当遍历到一个叶子节点时,将当前路径添加到结果集当中;
"""
def preorderTraversal(root, s, result):
if not root:
return
@@ -60,4 +62,3 @@ class Solution:
result = []
preorderTraversal(root, s, result)
return result
@@ -19,6 +19,7 @@
# 返回它的最大深度 3 。
#######################################################################################
class TreeNode:
def __init__(self, x):
self.val = x
@@ -19,6 +19,7 @@
# 返回它的最小深度 2.
#######################################################################################
class TreeNode:
def __init__(self, x):
self.val = x
-1
View File
@@ -35,7 +35,6 @@ class MyCalendar:
# 定义一个数组,用于记录行程
self.calendar = []
def book(self, start, end):
"""
:type start: int
+1 -1
View File
@@ -35,6 +35,7 @@
# 输出: false
#######################################################################################
class TreeNode:
def __init__(self, x):
self.val = x
@@ -83,4 +84,3 @@ if __name__ == '__main__':
q = TreeNode(1)
q.right = TreeNode(2)
print(solution.isSameTree(p, q), "= False")
+1 -1
View File
@@ -28,6 +28,7 @@ class TreeNode:
self.left = None
self.right = None
class Solution:
def hasPathSum(self, root, sum):
"""
@@ -64,4 +65,3 @@ if __name__ == '__main__':
root.right.right = TreeNode(4)
root.right.right.right = TreeNode(1)
print(solution.hasPathSum(root, 22), "= True")