1
0
mirror of https://github.com/SunnyQjm/algorithm-review.git synced 2026-06-05 15:39:29 +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