diff --git a/199. Binary Tree Right Side View.cpp b/199. Binary Tree Right Side View.cpp new file mode 100644 index 0000000..6a4c034 --- /dev/null +++ b/199. Binary Tree Right Side View.cpp @@ -0,0 +1,32 @@ +/** + * Definition for a binary tree node. + * struct TreeNode { + * int val; + * TreeNode *left; + * TreeNode *right; + * TreeNode() : val(0), left(nullptr), right(nullptr) {} + * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} + * TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {} + * }; + */ +class Solution { +public: + vector rightSideView(TreeNode* root) { + // unordered_mapmap; + vectorans; + int level=-1; + traverseRightSide(root,level,0,ans); + return ans; + } + void traverseRightSide(TreeNode* root,int &mainLevel,int level, vector&ans){ + if(root==NULL) return ; + + if(mainLevelval); + mainLevel=max(mainLevel,level); + } + + traverseRightSide(root->right,mainLevel,level+1,ans); + traverseRightSide(root->left,mainLevel,level+1,ans); + } +};