徐州社交网站,西餐厅网站建设的需求分析,做网页的心得体会,wordpress如何vip103. 二叉树的锯齿形层序遍历
给你二叉树的根节点 root #xff0c;返回其节点值的 锯齿形层序遍历 。#xff08;即先从左往右#xff0c;再从右往左进行下一层遍历#xff0c;以此类推#xff0c;层与层之间交替进行#xff09;。
解题思路#xff1a;模仿层序遍历的…103. 二叉树的锯齿形层序遍历
给你二叉树的根节点 root 返回其节点值的 锯齿形层序遍历 。即先从左往右再从右往左进行下一层遍历以此类推层与层之间交替进行。
解题思路模仿层序遍历的方法需要加一个层数指示器当层数为偶数则反转列表。 class Solution:def zigzagLevelOrder(self, root: Optional[TreeNode]) - List[List[int]]:if not root:return []# 结果res []# 队列存储下一层的节点queue [root]# 指示方向,统计层数count 1while queue:cur_l [] # 当前层的节点结果cur_l_size len(queue)# 遍历当前层节点for _ in range(cur_l_size):node queue.pop(0)cur_l.append(node.val)if node.left:queue.append(node.left)if node.right:queue.append(node.right)# 如果是偶数层则反转if count % 2 0:cur_l cur_l[::-1]res.append(cur_l)count1return res