leetcode -- 树

题目一.之字形遍历树

https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/

leetcode -- 树_第1张图片

题目简介:之字形遍历树

题解: 用队列的方式,这里用到双端队列  Deque;

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public List> zigzagLevelOrder(TreeNode root) {
        List> totlelist = new ArrayList<>();
        if(root == null)return totlelist;
        
        Deque queue = new ArrayDeque<>();   //双端队列Deque
        queue.add(root); //把根节点加入队列中
        int depth = 0; //树的深度用来判断是否该倒着插
        while(!queue.isEmpty()){
            int size = queue.size();  //取出长度得到上一层有多长
            List list = new ArrayList<>();
            
            for(int i=0;i

 

你可能感兴趣的:(leetcode)