算法分析与设计丨第四周丨LeetCode(8)——Binary Tree Level Order Traversal(Medium)

来源:互联网 发布:java如何utf8转换为gbk 编辑:程序博客网 时间:2024/06/11 18:23

DFS

题目链接:https://leetcode.com/problems/binary-tree-level-order-traversal/description/

其实这题我的解决方法十分之慢,在后90%。不过能解就可以。就是在DFS函数中加一个level,每一个level的遍历都把值推到相应的vector[level]中。



/** * Definition for a binary tree node. * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:        vector<vector<int>> the_val;    int max = 100000;    int now = 0;    void find(TreeNode* root,int level)    {        if(root==NULL)            return;        if(level==now)        {            now++;            vector<int> temp;            the_val.push_back(temp);        }                        the_val[level].push_back(root->val);        find(root->left,level+1);        find(root->right,level+1);            }            vector<vector<int>> levelOrder(TreeNode* root) {                        find(root,0);                return the_val;    }};


阅读全文
0 0