0
まあ、この1つの質問はLeetCodeのものです。問題は、ツリーの最後のレベルの最も左のノードを見つけることです。私は、各レベルの最初の要素を追跡するために1つの余分なポインタを保持することで、単純なレベルのオーバトラバーサルを使用して試しました(もちろん、最も左の要素です)。バイナリツリーレベル順序トラバーサルLeetCode
コードは私のマシン上で完璧に動作しますが、これは、リートコード裁判官の異なる出力を示しています。正しい出力が1
ている間に私のコードは出力0を与えている。ここに私のコードは、与えられたテストケースについては、質問を訪問 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]
何か助けていただければ幸いです。この時点で