zoukankan      html  css  js  c++  java
  • 102 Binary Tree Level Order Traversal 二叉树的层次遍历

    给定一个二叉树,返回其按层次遍历的节点值。 (即zhu'ceng'de,从左到右访问)。
    例如:
    给定二叉树: [3,9,20,null,null,15,7],
        3
       /
      9  20
        / 
       15   7
    返回其层次遍历结果为:
    [
      [3],
      [9,20],
      [15,7]
    ]
    详见:https://leetcode.com/problems/binary-tree-level-order-traversal/description/

    Java实现:

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    class Solution {
        public List<List<Integer>> levelOrder(TreeNode root) {
            List<List<Integer>> res=new ArrayList<List<Integer>>();
            if(root==null){
                return res;
            }
            LinkedList<TreeNode> que=new LinkedList<TreeNode>();
            que.offer(root);
            int curNode=1;
            ArrayList<Integer> list=new ArrayList<Integer>();
            while(!que.isEmpty()){
                root=que.poll();
                --curNode;
                if(root.left!=null){
                    que.offer(root.left);
                }
                if(root.right!=null){
                    que.offer(root.right);
                }
                list.add(root.val);
                if(curNode==0){
                    curNode=que.size();
                    res.add(list);
                    list=new ArrayList<Integer>();
                }
            }
            return res;
        }
    }
    
  • 相关阅读:
    ThinkPHP函数详解:C方法
    ThinkPHP函数详解:A方法
    php中的中文字符串长度计算以及截取
    JQ $("#form1 :input" ).length 与 $("#form1input").length有什么区别?
    php中的isset和empty的区别与认识
    谈谈ACM带来的一些东西
    HDU 4374--F(x)
    奖学金
    数字排序
    查找数字
  • 原文地址:https://www.cnblogs.com/xidian2014/p/8718154.html
Copyright © 2011-2022 走看看