• 把二叉树打印成多行


    import java.util.ArrayList;
    import java.util.LinkedList;

    /*
    public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
    this.val = val;

    }

    }
    */
    public class Solution {
    ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) {
    ArrayList<ArrayList<Integer>> m= new ArrayList<ArrayList<Integer>>();
    if(pRoot==null)
    return m;
    LinkedList<TreeNode> deque=new LinkedList<TreeNode>();
    deque.offer(pRoot);
    int nextLevel = 0;
    int toBePrinted = 1;
    ArrayList<Integer> temp=new ArrayList<Integer>();
    while(!deque.isEmpty()){

    TreeNode pNode = deque.peek();
    temp.add(pNode.val);
    if(pNode.left!=null)
    {
    deque.offer(pNode.left);
    nextLevel++;
    }
    if(pNode.right!=null)
    {
    deque.offer(pNode.right);
    nextLevel++;
    }
    deque.poll();
    toBePrinted--;
    if(toBePrinted == 0)
    {
    toBePrinted=nextLevel;
    nextLevel=0;
    m.add((ArrayList<Integer>)temp.clone());
    temp.clear();
    }
    }
    return m;
    }
    }

  • 相关阅读:
    Python--安装 pip 和 scapy
    windows设置代理
    麦子的《我奋斗了18年才和你坐在一起喝咖啡》
    Tar命令
    test
    markdown语法
    js apply call
    windows文件大小和占用空间为何不一样
    prolog笔记
    html文字超出显示省略号
  • 原文地址:https://www.cnblogs.com/nickup/p/9809315.html
Copyright © 2020-2023  润新知