From b2949933f339490abc7eba21870255c73475caf9 Mon Sep 17 00:00:00 2001 From: subho Date: Thu, 30 Oct 2025 00:52:54 +0530 Subject: [PATCH] Implement right side view of binary tree --- 199. Binary Tree Right Side View.cpp | 32 ++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 199. Binary Tree Right Side View.cpp 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); + } +};