diff options
Diffstat (limited to 'other/binary_tree_right_view.cpp')
-rw-r--r-- | other/binary_tree_right_view.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/other/binary_tree_right_view.cpp b/other/binary_tree_right_view.cpp new file mode 100644 index 0000000..e5a040c --- /dev/null +++ b/other/binary_tree_right_view.cpp @@ -0,0 +1,24 @@ +#include "leetcode.h" + +class Solution { +public: + vector<int> rightSideView(TreeNode *root) { + queue<TreeNode *> q; + vector<int> ans; + if (!root) + return ans; + q.push(root); + while (!q.empty()) { + ans.push_back(q.back()->val); + for (int i = q.size(); i > 0; i--) { + TreeNode *n = q.front(); + q.pop(); + if (n->left) + q.push(n->left); + if (n->right) + q.push(n->right); + } + } + return ans; + } +}; |