199. Binary Tree Right Side View

199. 二叉树的右视图

Posted by bbkgl on July 1, 2020

同心而离居

忧伤以终老

其实就是层序遍历的时候,每一层直接取最后遍历的元素。。。

现在一想到层序遍历,我就习惯用dfs了。。。

class Solution {
private:
    void dfs(TreeNode *root, vector<int> &ans, int depth) {
        if (root == nullptr) return ;
        if (ans.size() <= depth)
            ans.push_back(root->val);
        ans[depth] = root->val;
        dfs(root->left, ans, depth + 1);
        dfs(root->right, ans, depth + 1);
    }
public:
    vector<int> rightSideView(TreeNode* root) {
        vector<int> ans;
        dfs(root, ans, 0);
        return ans;
    }
};