leetcode 100.Same Tree
来源:互联网 发布:淘宝卖家怎么看收入呢 编辑:程序博客网 时间:2024/04/29 21:29
题目链接:https://leetcode.com/problems/same-tree/?tab=Description
题目描述:
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 a binary tree node. * 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 1; else if((p==NULL&&q!=NULL)||(q==NULL&&p!=NULL)) return 0; else if(p->val!=q->val) return 0; else if(isSameTree(p->left,q->left)) return isSameTree(p->right,q->right); else return 0; }};方法二:
更简洁的代码
/** * Definition for a binary tree node. * 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) { return (p==NULL&&q==NULL)|| ((p!=NULL&&q!=NULL&&p->val==q->val)&& isSameTree(p->left,q->left)&&isSameTree(p->right,q->right));//左右子树都得相同 }};
0 0
- [LeetCode]100.Same Tree
- LeetCode 100. Same Tree
- 【LeetCode】100.Same Tree
- [Leetcode] 100. Same Tree
- [Leetcode] 100. Same Tree
- LeetCode --- 100. Same Tree
- LeetCode 100. Same Tree
- [leetcode] 100.Same Tree
- leetCode 100. Same Tree
- [LeetCode]100. Same Tree
- 100. Same Tree LeetCode
- LeetCode 100. Same Tree
- LeetCode 100. Same Tree
- [LeetCode]100. Same Tree
- 【LeetCode】100. Same Tree
- leetcode 100. Same Tree
- leetcode 100. Same Tree
- 【Leetcode】100. Same Tree
- 53. Maximum Subarray Add to List
- 算法提高 和最大子序列
- Clonezilla实现物理机到kvm虚拟机即P2V (三)
- 设计模式系列之一:单例模式
- C++之虚函数(三)虚继承和虚基类详解
- leetcode 100.Same Tree
- 485. Max Consecutive Ones
- 刘凯stm32教程第21讲总结
- 树上倍增方法求LCA(最近公共祖先)(转)
- 博客
- 文章标题
- 手机号码验证
- SPFA 跑得快,跑得快。最小花费问题
- TensorFlow系列01——TensorFlow1.0正式发布