LintCode-劍指Offer-(69)二叉樹的層次遍歷

class Solution {
    /**
    * @param root: The root of binary tree.
    * @return: Level order a list of lists of integer
    */
public:
    //寫了一個非遞歸的,發現內存不夠用。。。
    void lev(TreeNode* node, int levelnum, vector<vector<int>>&v){
        if ( node == NULL )return;
        if ( v.size( ) <= levelnum )
            v.push_back(vector<int>( ));
        v[levelnum].push_back(node->val);
        lev(node->left,levelnum+1,v);
        lev(node->right,levelnum+1,v);
    }
    vector<vector<int>> levelOrder(TreeNode *root) {
        // write your code here
        vector<vector<int>> vall;
        if ( root == NULL )
            return vall;
        lev(root, 0, vall);
        return vall;
    }
};
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章