zoukankan      html  css  js  c++  java
  • 把二叉树打印成多行

    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;
    }
    }

  • 相关阅读:
    自我介绍
    汇编实验报告五
    汇编第二章知识总结
    汇编第一章知识总结
    汇编实验报告四
    汇编实验报告三
    汇编实验报告(二)
    汇编实验报告(一)
    实验报告(七)
    实验报告(六)
  • 原文地址:https://www.cnblogs.com/nickup/p/9809315.html
Copyright © 2011-2022 走看看