• 按之字形顺序打印二叉树


    题目

      请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。

    分析

      使用两个栈去实现。奇数行使用stack1,偶数行使用stack2。

         注,使用stack1时,按照左右的顺序存储;使用stack2时,按照右左的顺序存储

    代码

     1     ArrayList<ArrayList<Integer>> Print(TreeNode pRoot) {
     2         ArrayList<ArrayList<Integer>> list = new ArrayList<ArrayList<Integer>>();
     3         if(pRoot==null)
     4             return list;
     5         Stack<TreeNode> stack1 = new Stack<TreeNode>();
     6         Stack<TreeNode> stack2 = new Stack<TreeNode>();
     7         stack1.add(pRoot);
     8         while(!stack1.empty() || !stack2.empty()){
     9             ArrayList<Integer> li = new ArrayList<Integer>();
    10             if(!stack1.empty()){
    11                 while(!stack1.empty()){
    12                     TreeNode node = stack1.pop();
    13                     li.add(node.val);
    14                     if(node.left!=null)
    15                         stack2.add(node.left);
    16                     if(node.right!=null)
    17                         stack2.add(node.right);
    18                 }
    19                 list.add(li);
    20             }
    21             else if(!stack2.empty()){
    22                 while(!stack2.empty()){
    23                     TreeNode node = stack2.pop();
    24                     li.add(node.val);
    25                     if(node.right!=null)
    26                         stack1.add(node.right);
    27                     if(node.left!=null)
    28                         stack2.add(node.left);
    29                 }
    30                 list.add(li);
    31             }
    32         }
    33         return list;
    34     }
  • 相关阅读:
    HDU 5023 A Corrupt Mayor's Performance Art(线段树区间更新)
    CSU 1120 病毒(DP)
    CSU 1116 Kingdoms(枚举最小生成树)
    一种map容器遍历的方法
    CSU 1113 Updating a Dictionary(map容器应用)
    Python模块-virtualenv-虚拟环境
    计算学习原理
    sklearn-特征工程之特征选择
    链家网深圳租房信息分析报告
    test
  • 原文地址:https://www.cnblogs.com/jiqianqian/p/7018325.html
Copyright © 2020-2023  润新知