From 57216ab234f4a19dfdf108f9207791c6c1a64f03 Mon Sep 17 00:00:00 2001 From: shivamsingh67 <57013298+shivamsingh67@users.noreply.github.com> Date: Sun, 2 Oct 2022 15:50:57 +0530 Subject: [PATCH] Create Binary Tree Right Side View.cpp --- .../Binary Tree Right Side View.cpp | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Dynamic Programming/Binary Tree Right Side View.cpp diff --git a/Dynamic Programming/Binary Tree Right Side View.cpp b/Dynamic Programming/Binary Tree Right Side View.cpp new file mode 100644 index 00000000..b2104123 --- /dev/null +++ b/Dynamic Programming/Binary Tree Right Side View.cpp @@ -0,0 +1,37 @@ +/** + * 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) { + vectorans; + if(!root){ + return ans; + } + queueq; + + q.push(root); + + while(!q.empty()){ + int n = q.size(); + TreeNode* tmp; + for(int i = 0; i < n; i++){ + tmp = q.front(); + q.pop(); + if(tmp->left) q.push(tmp->left); + if(tmp->right) q.push(tmp->right); + } + + ans.push_back(tmp->val); + } + return ans; + } +};