题解 | #牛群左侧视图#

牛群左侧视图

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;
    }
};

全部评论

相关推荐

04-25 19:29
已编辑
宁波大学 运营
被普调的六边形战士很高大:你我美牛孩
点赞 评论 收藏
分享
嵌入式求职之路:可以看我经验😂,https://www.nowcoder.com/share/jump/73221730841876945
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务