已解决
leetcode100相同的树,C语言时间击败百分之百
来自网友在路上 161861提问 提问时间:2023-09-19 17:18:05阅读次数: 61
最佳答案 问答题库618位专家为你答疑解惑
最近“复习”到了二叉树,从leetcode找题做,发现相同的树
总之都是answer-coper
我就想先序迭代地dfs掉这道题,其他的答案上都有总结不赘述
下面主打我抄我自己
/*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/
bool isSameTree(struct TreeNode* p, struct TreeNode* q) {if (p == NULL && q == NULL) {return true;} else if (p == NULL || q == NULL) {return false;} else if (p->val != q->val) {return false;} else {struct TreeNode*stk1[2000];struct TreeNode*stk2[2000];int stk_top1=0,stk_top2=0;while((stk_top1>0&&stk_top2>0)||(p!=NULL||q!=NULL)){while(p&&q){if (p->val != q->val)return false;stk1[stk_top1++]=p;stk2[stk_top2++]=q;p=p->left;q=q->left;}if((p==NULL)^(q==NULL))return false;p=stk1[--stk_top1]->right;q=stk2[--stk_top2]->right;}return stk_top1==0&&stk_top2==0;}
}作者:EADGBE
链接:https://leetcode.cn/problems/same-tree/solutions/2449239/dfsqian-xu-fei-di-gui-by-eadgbe-w-boyz/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
while((stk_top1>0&&stk_top2>0)||(p!=NULL||q!=NULL)){
这一行当时没有考虑进入需要右边的条件,
其次当右孩子为NULL和value的时候要继续去压栈,所以有!NULL就得继续
ps,找到个先序后序中序dfs讲解很好的博主
dfs二叉树
查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"leetcode100相同的树,C语言时间击败百分之百":http://eshow365.cn/6-9441-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: Windows下的Elasticsearch-head安装
- 下一篇: 启动YOLO进行图片物体识别