diff --git a/199-240525-pass/main.cpp b/199-240525-pass/main.cpp new file mode 100644 index 0000000..6aeab78 --- /dev/null +++ b/199-240525-pass/main.cpp @@ -0,0 +1,45 @@ +#include +#include +#include + +using namespace std; + + 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) { + queue que; + vector rlt; + if(root == nullptr) return rlt; + que.push(root); + while(!que.empty()){ + queue< TreeNode *> tmp_que; + TreeNode * node; + while(!que.empty()){ + node = que.front(); + tmp_que.push(node); + que.pop(); + } + rlt.push_back(node->val); + while(!tmp_que.empty()){ + node = tmp_que.front(); + if(node->left != nullptr){ + que.push(node->left); + } + if(node->right != nullptr){ + que.push(node->right); + } + tmp_que.pop(); + } + } + return rlt; + } +}; \ No newline at end of file diff --git a/199-240525-pass/main.py b/199-240525-pass/main.py new file mode 100644 index 0000000..e69de29