很久不寫了,最近忙畢業論文呢。ide
這個題,就是說一個二叉樹,你從右邊看,你能看到的數有哪些(會被遮擋)blog
其實抽象出來就是說。。。二叉樹每層最右邊的數有哪些。。it
那咱們按層遍歷一次就行了。io
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: vector<int> rightSideView(TreeNode *root) { vector<int> ans; if (root == nullptr) return ans; queue<TreeNode*> que; que.push(root); TreeNode* curr; while(!que.empty()) { int cnt = que.size(); for (int i = 0; i < cnt; i++) { curr = que.front(); que.pop(); if (curr->left) { que.push(curr->left); } if (curr->right) { que.push(curr->right); } } ans.push_back(curr->val); } return ans; } };