这道题目就是层序遍历,解题思路就是我们维护一个队列,和一个答案数组,每次从队列里面取出一个,将他的值放入数组,判断这个取出来的节点是否存在左右子节点,存在则放入队列中,循环的退出条件是,当队列为空。
vector<int>ans;
queue<TreeNode *>que;
if(root==NULL) return {};
que.push(root);
while(!que.empty())
{
auto temp=que.front();
que.pop();
ans.push_back(temp->val);
if(temp->left!=NULL)
{
que.push(temp->left);
}
if(temp->right!=NULL)
{
que.push(temp->right);
}
}
return ans;
}