Week 6算法分析作业

来源:互联网 发布:双十一店铺数据分析 编辑:程序博客网 时间:2024/06/07 11:52

Week 6算法分析作业

LeetCode题目 102. 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,null,null,15,7],
3
/ \
9 20
/ \
15 7
return its level order traversal as:
[
[3],
[9,20],
[15,7]
]
给定一个树,输出它的层次编历的结果

我的解法

使用前序遍历,复杂度为O(|V|+|E|)

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

感想:

复习一下学习过的算法

原创粉丝点击