leetcode 199 二叉树的右视图

Posted BeicC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 199 二叉树的右视图相关的知识,希望对你有一定的参考价值。

leetcode 199. 二叉树的右视图

因为某些比赛导致三天没写编程题,回来之后发现自己好像啥都不会了,写每一题都要花费好长时间/_

牢骚结束:二叉树的遍历一般用dfs或者bfs,dfs一般用于前中后序遍历,bfs一般用于层序遍历

方法一:这一题最直观的解法就是得到二叉树的层序遍历,然后每次取每一层的最后一个元素。

方法二:通过看题解发现dfs也能解决这一题,而且非常简洁!dfs进行反的前序遍历(根-右-左)

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

没什么总结的,写这篇为了提醒我自己,有空多做题!!

以上是关于leetcode 199 二叉树的右视图的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode——199. 二叉树的右视图

leetcode.199二叉树的右视图

LeetCode 199. 二叉树的右视图(Binary Tree Right Side View)

LeetCode Java刷题笔记—199. 二叉树的右视图

Leetcode-199. 二叉树的右视图

Leetcode No.199 二叉树的右视图