Java | Leetcode Java题解之第103题二叉树的锯齿形层序遍历

题目:

题解:

java 复制代码
class Solution {
    public List<List<Integer>> zigzagLevelOrder(TreeNode root) {
        List<List<Integer>> ans = new LinkedList<List<Integer>>();
        if (root == null) {
            return ans;
        }

        Queue<TreeNode> nodeQueue = new ArrayDeque<TreeNode>();
        nodeQueue.offer(root);
        boolean isOrderLeft = true;

        while (!nodeQueue.isEmpty()) {
            Deque<Integer> levelList = new LinkedList<Integer>();
            int size = nodeQueue.size();
            for (int i = 0; i < size; ++i) {
                TreeNode curNode = nodeQueue.poll();
                if (isOrderLeft) {
                    levelList.offerLast(curNode.val);
                } else {
                    levelList.offerFirst(curNode.val);
                }
                if (curNode.left != null) {
                    nodeQueue.offer(curNode.left);
                }
                if (curNode.right != null) {
                    nodeQueue.offer(curNode.right);
                }
            }
            ans.add(new LinkedList<Integer>(levelList));
            isOrderLeft = !isOrderLeft;
        }

        return ans;
    }
}
相关推荐
RainbowSea10 分钟前
130道基础OJ编程题之: 78~88
java
松树戈20 分钟前
IDEA Commit 模态提交界面关闭VS开启对比
java·ide·intellij-idea
谦行23 分钟前
前端视角 Java Web 入门手册 4.4:Web 开发基础—— Listener
java·后端
jk_10135 分钟前
MATLAB中strip函数用法
java·服务器·数据库
m0_6759882340 分钟前
Leetcode2597:美丽子集的数目
算法·leetcode·回溯·python3
一弓虽42 分钟前
maven学习
java·学习·github·maven
24k小善1 小时前
Flink Forward Asia 2024 大会 内容整理
java·大数据·flink
xiaozaq1 小时前
在Eclipse中安装Lombok插件
java·python·eclipse
一只_程序媛1 小时前
【leetcode hot 100 234】回文链表
算法·leetcode·链表
是姜姜啊!2 小时前
服务熔断组件sentinel,监控服务-springboot-admin-ui
java·服务器