深度优先搜索-DFS
深度优先搜索(DFS)是一种经典的的搜索算法,这种算法一般会根据深度优先遍历整个数据来寻找最佳的数据。根据DFS的定义一般使用栈进行判断运算。
二叉树的前序遍历
DFS_bitree.png.png "DFS")
代码如下:
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def preorderTraversal(self, root: TreeNode) -> List[int]:
if root is None:
return []
results, stack = [], []
stack.append(root)
while stack:
node = stack.pop()
if node:
results.append(node.val)
#### 前序遍历
if node.right:
stack.append(node.right)
if node.left:
stack.append(node.left)
return results
网友评论