007-100-判断两个二叉树是否相等 Same Tree
来源:互联网 发布:sql数据库设计 编辑:程序博客网 时间:2024/06/08 01:49
Question
Given two binary trees, write a function to check if they are the same or not.
Two binary trees are considered the same if they are structurally identical and the nodes have the same value.
Example 1:Input: 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]Output: trueExample 2:Input: 1 1 / \ 2 2 [1,2], [1,null,2]Output: falseExample 3:Input: 1 1 / \ / \ 2 1 1 2 [1,2,1], [1,1,2]Output: false
Solution
与二叉树相关的问题可以用递归的思路来解决,对于这个问题,先判断两棵树的当前节点的值是否相等,如果相等,再判断两棵树的左子树、右子树分别是否相等,当左右子树都相等时(逻辑和关系),可以判断两棵树相等。还要考虑空树的情况,也就是空指针的情况。代码如下。
/** * 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 (p == q); }else{ if(p->val != q->val){ return false; }else{ return isSameTree(p->left, q->left)&&isSameTree(p->right, q->right); } }}
当用以比较的两个指针都为空时,则认为两个都是空数,即系相等;当其一为空,另一不为空时,可以判断两棵树不相等。
阅读全文
0 0
- 007-100-判断两个二叉树是否相等 Same Tree
- [leetcode]Same Tree(判断两个二叉树是否相等 C语言实现)
- 100. Same Tree (判断二叉树是否相等)
- Same Tree判断二叉树相等
- 【leetcode 二叉树相等判断】Same Tree
- 100. Same Tree判断二叉树相等
- Same Tree (判断树是否相等)
- LeetCode-100-Same Tree 水题 判断二叉树相等
- LeetCode--Same Tree(判断两个二叉树是否相同)Python
- leetcode-100. Same Tree 判断二叉树是否相等,递归,逻辑与操作
- 【数据结构】判断两个二叉树是否相等
- LeeCode 判断两个二叉树是否相等
- Same Tree 判断两棵树是否相等
- 【LeetCode】Same Tree --- 二叉树相等
- Same Tree--比较两个二叉树是否相同
- Leetcode#100. Same Tree(判断两个二叉树相同)
- Leetcode Same Tree 判断两棵二叉树是否相同
- [LeetCode]100. Same Tree--判断二叉树是否相同
- 我的物联网项目(十四) 分布式事务
- Centos7 安装 PHP7最新版的详细教程
- 测试在vue下点击事件传参和不传参的区别
- 设计模式【服务器定位模式Service Locator Pattern】
- 6.1 使用接口
- 007-100-判断两个二叉树是否相等 Same Tree
- k近邻法
- unity 安卓 如何读取 Application.persistentDataPath这个路径下面的assetbundle文件
- C语言学习内容总结2017/11/18(malloc函数)
- cmake opencv 路径问题
- 桥接模式
- centos7 安装apache+php
- c++关于优先队列的使用
- 【转载】异常