0
그럼이 한 가지 질문은 LeetCode에서 나온 것입니다. 문제는 트리의 마지막 레벨에서 가장 왼쪽 노드를 찾는 것입니다. 나는 각 레벨의 첫 번째 요소를 추적하기위한 하나의 여분의 포인터를 유지함으로써 간단한 레벨 순서 순회를 사용하여 시도했다. (물론 가장 왼쪽 요소 일 것이다.)이진 트리 레벨 순서 순회 LeetCode
코드가 내 컴퓨터에서 완벽하게 실행되는 동안. 그것은 leetcode 판사의 다른 출력을 보여줍니다. 올바른 출력이 1
동안 여기에 질문을 방문 주어진 테스트 케이스를 들어 https://leetcode.com/problems/find-bottom-left-tree-value/#/description의 상세한 분석을 위해 내 코드
int findBottomLeftValue(TreeNode* root) {
queue<TreeNode*>q;
q.push(root);
q.push(NULL);
TreeNode*first;
while(!q.empty())
{
TreeNode*temp = q.front();
q.pop();
if(temp==NULL)
{
if(q.front()!=NULL)
first = q.front();
if(!q.empty())
q.push(NULL);
}
else
{
if(temp->left)
{
q.push(temp->left);
}
if(temp->right)
{
q.push(temp->right);
}
}
}
return first->val;
}
이다 [2,1,3] 내 코드는 출력 0을주고있다
도움을 주시면 감사하겠습니다. 이 시점에서