[LeetCode]102. Binary Tree Level Order Traversal

Problem:

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]
]

Answer:

使用递归,并维护一个深度

> res;
    void dfs(TreeNode* t,int d){
        if(t==NULL) return;
        if(res.size()<=d) res.push_back(vector());
        res[d].push_back(t->val);
        if(t->left) dfs(t->left,d+1);
        if(t->right) dfs(t->right,d+1);
        return;
    }
    vector> levelOrder(TreeNode* root) {
        if(root==NULL) return res;
        dfs(root,0);
        return res;
    }
};

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...