
BFS
Giotto_Ven
交大控制科学与工程研究生
展开
-
Python3-[31]面试题32-III.从上到下打印二叉树III(层次遍历/BFS)
面试题32-III.从上到下打印二叉树III题目解题思路代码 题目 请实现一个函数按照之字形顺序打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右到左的顺序打印,第三行再按照从左到右的顺序打印,其他行以此类推。 解题思路 每一层的节点都等于当前队列que中的节点,在将当前层节点全部弹出之后再处理下一层。 在标准层次遍历的基础上加上了按层输出的操作以及判断level的操作,path使用队列表示,奇数层用append将节点值添加到尾部,偶数层则用appendleft将节点添加到头部。 代码 # Defi原创 2020-08-26 14:44:28 · 216 阅读 · 0 评论 -
Python3-[30]面试题32-II.从上到下打印二叉树II(层次遍历/BFS)
面试题32-II.从上到下打印二叉树II题目解题思路code1:BFS每层输出写法1code2:BFS每层输出写法2(不推荐这样写) 题目 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。 解题思路 对于标准的层次遍历,这里对于层次输出需要做的一点改变:应使每一层次的节点等于当前队列里的节点,这样则需要每次都把当前层所有节点都弹出并处理完再处理下一层。 同样,我们有两种BFS写法: code1:BFS每层输出写法1 # Definition for a binary tree n原创 2020-08-26 14:13:53 · 220 阅读 · 0 评论 -
Python3-[29]面试题32-I.从上到下打印二叉树(层次遍历/BFS)
面试题32-I.从上到下打印二叉树题目解题思路code1:层次遍历写法1code2:层次遍历写法2 题目 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 解题思路 很明显,这就是一个二叉树的层次遍历问题,在层次遍历的时候维护一个res列表存储结果即可。 code1:层次遍历写法1 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val =原创 2020-08-26 12:54:26 · 305 阅读 · 0 评论