Leetcode 之Same Tree(48)

用递归比较简单,这里用迭代的方式实现。注意什么时候返回true,什么时候返回false。

bool isSameTree(TreeNode *p, TreeNode *q)
      {
          
          stack<TreeNode *> s;
          s.push(p);
          s.push(q);
          while (!s.empty())
          {
              q = s.top(); s.pop();
              p = s.top(); s.pop();
              //两个都为空
              if (!p && !q)return true;
              //一个为空
              if (!p || !q)return false;
              if (p->val != q->val)return false;

              s.push(p->left);
              s.push(q->left);

              s.push(p->right);
              s.push(q->right);
          }
          return true;
      }
View Code
原文地址:https://www.cnblogs.com/573177885qq/p/5549424.html