Update preorder_traversal_iii.

This commit is contained in:
krahets
2023-07-25 16:39:38 +08:00
parent 90af225dae
commit b067016bfa
20 changed files with 48 additions and 56 deletions

View File

@ -39,6 +39,6 @@ if __name__ == "__main__":
res = list[list[TreeNode]]()
pre_order(root)
print("\n输出所有根节点到节点 7 的路径,路径中不包含值为 3 的节点,仅包含一个值为 7 的节点")
print("\n输出所有根节点到节点 7 的路径,路径中不包含值为 3 的节点")
for path in res:
print([node.val for node in path])

View File

@ -43,7 +43,6 @@ def backtrack(
if is_solution(state):
# 记录解
record_solution(state, res)
return
# 遍历所有选择
for choice in choices:
# 剪枝:检查选择是否合法

View File

@ -9,7 +9,7 @@ from .list_node import (
linked_list_to_list,
get_list_node,
)
from .tree_node import TreeNode, list_to_tree, tree_to_list, get_tree_node
from .tree_node import TreeNode, list_to_tree, tree_to_list
from .vertex import Vertex, vals_to_vets, vets_to_vals
from .print_util import (
print_matrix,

View File

@ -67,14 +67,3 @@ def tree_to_list(root: TreeNode | None) -> list[int]:
res = []
tree_to_list_dfs(root, 0, res)
return res
def get_tree_node(root: TreeNode | None, val: int) -> TreeNode | None:
"""Get a tree node with specific value in a binary tree"""
if not root:
return
if root.val == val:
return root
left: TreeNode | None = get_tree_node(root.left, val)
right: TreeNode | None = get_tree_node(root.right, val)
return left if left else right