1. void bfs(TreeNode* root){
    2. if (!root)return;
    3. stack<TreeNode*> s;
    4. TreeNode *p = root;
    5. while (!s.empty() || p){
    6. while (p){
    7. s.push(p);
    8. p = p->left;
    9. }
    10. p = s.top();
    11. cout << p->val << endl;//中序遍历
    12. s.pop();
    13. p = p->right;
    14. }
    15. }