LeetCode OJ 之 Same Tree (相同树的判断)
来源:互联网 发布:mac升级os sierra失败 编辑:程序博客网 时间:2024/06/07 06:31
题目:
Given two binary trees, write a function to check if they are equal or not.
Two binary trees are considered equal if they are structurally identical and the nodes have the same value.
给定两棵树,写一个函数判断它们是否相等。
两棵树相等是指它们结构一致并且结点值相等。
代码递归版:
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: bool isSameTree(TreeNode *p, TreeNode *q) { if(p == NULL && q == NULL)//递归结束条件 return true; if(p == NULL || q == NULL)//剪枝 return false; if(p->val == q->val)//当前结点值相等,继续向下遍历否则返回假 return isSameTree(p->left,q->left) && isSameTree(p->right,q->right); else return false; }};
迭代版:
/** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public: bool isSameTree(TreeNode *p, TreeNode *q) { stack<TreeNode*> s;//把q,q的结点成对入栈,再成对出栈进行比较 s.push(p); s.push(q); while(!s.empty()) { p = s.top(); //取出栈顶 s.pop(); //删除栈顶 q = s.top(); s.pop(); if (!p && !q) //p,q都为空,继续遍历,出栈判断 continue; if (!p || !q) //p,q只有一个为空,则返回假 return false; if (p->val != q->val) //p,q不等,返回假 return false; s.push(p->left); s.push(q->left); s.push(p->right); s.push(q->right); } return true; }};
0 0
- LeetCode OJ 之 Same Tree (相同树的判断)
- Same Tree 判断相同的树
- LeetCode 100. Same Tree(相同的树)
- Leetcode Same Tree 判断两棵二叉树是否相同
- [LeetCode]100. Same Tree--判断二叉树是否相同
- Leetcode#100. Same Tree(判断两个二叉树相同)
- LeetCode--Same Tree(判断两个二叉树是否相同)Python
- 100. Same Tree |判断二叉树相同
- Same Tree 比较是否是相同的树@ LeetCode
- LeetCode Same Tree 决定是否是相同的树
- [LeetCode]100. Same Tree(相同树)
- [LeetCode OJ]Same Tree
- LeetCode OJ:Same Tree
- LeetCode OJ - Same Tree
- [LeetCode OJ]Same Tree
- LeetCode OJ Same Tree
- Leetcode刷题记——100. Same Tree(相同的树)
- LeetCode 100 Same Tree(相同树判断)(二叉树、递归、栈和队列、深搜和宽搜)
- Android 服务器请求得到cookie
- 畅谈编程人生
- iPhone开发资源汇总二
- 网卡抓包程序
- U3D初学概况
- LeetCode OJ 之 Same Tree (相同树的判断)
- 提示音和震动
- 第12周项目1-程序阅读(5)
- EL的隐含对象
- Oracle函数(一)- keep
- Shell脚本笔记3-循环
- SAP Help Document
- 用PHPDocumentor生成源码文档
- iOS-关于苹果的推送通知