从上往下打印出二叉树的每个节点,同层节点从左至右打印。

//结构体申明
struct TreeNode
{
    int val;
    TreeNode left = null;
    TreeNode right = null;
};
 //将每个节点的值按照从上到下,从左到右的保存在res中,然后再输出
int TraverseAllTreeNode(TreeNode *root)
{
    if(root == NULL)
        return -1;                       //输入错误
 
    vector<TreeNode *> vec;
    vector<int> res;
    vec.push_back(root);
    int index = 0;        
    while(index < vec.size())
    {            
        TreeNode * temp = vec[index++];            
        if(temp->left != NULL)
            vec.push_back(temp->left);            
        if(temp->right != NULL)
            vec.push_back(temp->right);  
                     
        res.push_back(temp->val);        
    }
    

    for(int i = 0;i< res.size();i++)

    {
         cout << res[i] << " ";
    }

    
    return 1;    
}
原文地址:https://www.cnblogs.com/wj0816/p/6547968.html