题解 | #牛群左侧视图#
牛群左侧视图
https://www.nowcoder.com/practice/1eba2dd947484c078e6359ccd90aa7b1
/** * struct TreeNode { * int val; * struct TreeNode *left; * struct TreeNode *right; * TreeNode(int x) : val(x), left(nullptr), right(nullptr) {} * }; */ class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return int整型vector */ vector<int> leftSideView(TreeNode* root) { // write code here vector<int> ans; queue<TreeNode*> que; if (root == nullptr) return ans; que.push(root); while (que.size()) { int num = que.size(); bool first = true; // 一次取出一层 while (num--) { TreeNode* t = que.front(); // 每一层的第一个是可以看到的 if (first) { ans.push_back(t->val); first = false; } if (t->left) que.push(t->left); if (t->right) que.push(t->right); que.pop(); } } return ans; } };