栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

按之字形顺序打印二叉树

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

按之字形顺序打印二叉树

解题思路1:
import java.util.ArrayList;
import java.util.Stack;


public class Solution {
    public ArrayList > Print(TreeNode pRoot) {

        //数的层数
        int layer = 1;
        //存放奇数层的TreeNode
        Stack s1 = new Stack();
        //存放偶数层的TreeNode
        Stack s2 = new Stack();
        
        ArrayList> resultList = new ArrayList>();
        
        //用于存放每一层的结点的值
        ArrayList tempList;
        
        s1.push(pRoot);
        
        while(!s1.empty() || !s2.empty()){
            
            tempList = new ArrayList<>();
            
            if(layer%2 != 0){
                
                
                while(!s1.empty()){
                    //取出第一个TreeNode
                    TreeNode node = s1.pop();
                    if(node != null){
                        tempList.add(node.val);
                        //因为下一层是偶数层,是从右向左遍历,而Stack是先进后出,所以先node.left,后node.right
                        s2.push(node.left);
                        s2.push(node.right);
                    }
                }
                
            }else{
                
                
                while(!s2.empty()){
                    //取出第一个TreeNode
                    TreeNode node = s2.pop();
                    if(node != null){
                        tempList.add(node.val);
                        //因为下一层是奇数层,是从左向右遍历,而Stack是先进后出,所以先node.right,后node.left
                        s1.push(node.right);
                        s1.push(node.left);
                    }  
                }
            }
            
            if(!tempList.isEmpty()){
                resultList.add(tempList);
            }
            
            //层数加一
            layer++;
        }
        
        return resultList;
    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/930393.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号