LeetCode 103. 二叉树的锯齿形层次遍历(Binary Tree Zigzag Level Order Traversal)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 103. 二叉树的锯齿形层次遍历(Binary Tree Zigzag Level Order Traversal)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
103. 二叉樹的鋸齒形層次遍歷
103. Binary Tree Zigzag Level Order Traversal
題目描述
給定一個二叉樹,返回其節點值的鋸齒形層次遍歷。(即先從左往右,再從右往左進行下一層遍歷,以此類推,層與層之間交替進行)。
LeetCode103. Binary Tree Zigzag Level Order Traversal中等
例如:
給定二叉樹 [3,9,20,null,null,15,7],
返回鋸齒形層次遍歷如下:
[[3],[20,9],[15,7] ]Java 實現
public class TreeNode {int val;TreeNode left;TreeNode right;TreeNode(int x) {val = x;} } import java.util.Collections; import java.util.LinkedList; import java.util.List; import java.util.Queue;class Solution {public List<List<Integer>> zigzagLevelOrder(TreeNode root) {if (root == null) {return new LinkedList<>();}List<List<Integer>> res = new LinkedList<>();int count = 1;Queue<TreeNode> queue = new LinkedList<>();queue.offer(root);while (!queue.isEmpty()) {int size = queue.size();List<Integer> list = new LinkedList<>();for (int i = 0; i < size; i++) {TreeNode node = queue.poll();list.add(node.val);if (node.left != null) {queue.offer(node.left);}if (node.right != null) {queue.offer(node.right);}}if (count % 2 == 0) {Collections.reverse(list);}count++;res.add(list);}return res;} }相似題目
- 102. 二叉樹的層次遍歷 Binary Tree Level Order Traversal
參考資料
- https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/
- https://leetcode-cn.com/problems/binary-tree-zigzag-level-order-traversal/
轉載于:https://www.cnblogs.com/hglibin/p/10961254.html
總結
以上是生活随笔為你收集整理的LeetCode 103. 二叉树的锯齿形层次遍历(Binary Tree Zigzag Level Order Traversal)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 认识 java JVM虚拟机选项 Xms
- 下一篇: XAF-BI.Dashboard模块概述