【LeetCode】C# 102、Binary Tree Level Order Traversal

来源:互联网 发布:如何部署大数据平台 编辑:程序博客网 时间:2024/05/17 00:08

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,null,null,15,7],

    3   / \  9  20    /  \   15   7

return its level order traversal as:

[  [3],  [9,20],  [15,7]]

二叉树层序遍历。
思路:建立List<List<int>>来存放结果,迭代时用level参量来标记层数即可。然后中序遍历。

/** * Definition for a binary tree node. * public class TreeNode { *     public int val; *     public TreeNode left; *     public TreeNode right; *     public TreeNode(int x) { val = x; } * } */public class Solution {    public List<List<int>> LevelOrder(TreeNode root) {        List<List<int>> res = new List<List<int>>();        LO(res,root,0);        return res;    }    public static void LO(List<List<int>> res,TreeNode tree,int level){        if(tree == null) return;        if(level >= res.Count) res.Add(new List<int>());        res[level].Add(tree.val);        LO(res,tree.left,level+1);        LO(res,tree.right,level+1);    }}
阅读全文
0 0
原创粉丝点击