加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > C语言 > 正文

[LeetCode]102. Binary Tree Level Order Traversal

发布时间:2020-12-15 00:45:53 所属栏目:C语言 来源:网络整理
导读: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,

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读