zoukankan      html  css  js  c++  java
  • LeetCode——Binary Tree Level Order Traversal

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, level by level).

    For example:
    Given binary tree {3,9,20,#,#,15,7},

        3
       / 
      9  20
        /  
       15   7
    

    return its level order traversal as:

    [
      [3],
      [9,20],
      [15,7]
    ]
    原题链接:https://oj.leetcode.com/problems/binary-tree-level-order-traversal/

    题目:给定一个二叉树,返回节点的层序遍历的值。(如,从左到右,一层一层)

    思路:类似于广度优先遍历,能够将节点依次放入到队列中,再按层取出。

    	public List<List<Integer>> levelOrder(TreeNode root) {
    		List<List<Integer>> list = new ArrayList<List<Integer>>();
    		if (root == null)
    			return list;
    		Queue<TreeNode> queue = new LinkedList<TreeNode>();
    		queue.add(root);
    		while (!queue.isEmpty()) {
    			List<Integer> li = new ArrayList<Integer>();
    			int size = queue.size();
    			for (int i = 0; i < size; i++) {
    				TreeNode node = queue.poll();
    				li.add(node.val);
    				if (node.left != null)
    					queue.add(node.left);
    				if (node.right != null)
    					queue.add(node.right);
    			}
    			list.add(li);
    		}
    		return list;
    	}
    
    	// Definition for binary tree
    	public class TreeNode {
    		int val;
    		TreeNode left;
    		TreeNode right;
    
    		TreeNode(int x) {
    			val = x;
    		}
    	}




  • 相关阅读:
    自定义指令
    freemarker 数据类型
    hibernate简单的增删改查
    hibernate增删改查
    Hibernate HQL查询语句总结
    Hibernate配置详细解释
    Filter过滤器
    日志统计
    分页-模糊查询
    分页
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6814393.html
Copyright © 2011-2022 走看看