Leetcode/NeetCode

[BinaryTree][Medium] 199. Binary Tree Right Side View

자전거통학 2024. 7. 18. 20:37

https://leetcode.com/problems/binary-tree-right-side-view/description/

 

주어진 tree의 각 level의 마지막 값을 구하라. 

 

 

level order traversal을 한 후 제일 마지막 값만을 취한다.

 

코드

더보기
vector<int> rightSideView(TreeNode* root) 
{            
    vector<int> vRet;
    if (root == nullptr)
        return vRet;

    queue<TreeNode*> qBuff;
    qBuff.push(root);
    while (qBuff.size() > 0)
    {
        int cnt = qBuff.size();
        for (int q = 0; q < cnt; ++q)
        {
            TreeNode* node = qBuff.front();
            qBuff.pop();
            if (q == cnt - 1)
                vRet.push_back(node->val);

            if (node->left != nullptr)	qBuff.push(node->left);
            if (node->right != nullptr)	qBuff.push(node->right);
        }
    }
    return vRet;
}

 

 

 

결과