同心而离居
忧伤以终老
其实就是层序遍历的时候,每一层直接取最后遍历的元素。。。
现在一想到层序遍历,我就习惯用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;
}
};