leetcode刷题笔记一百题 相同的树
leetcode刷题笔记一百题 相同的树
源地址:100. 相同的树
问题描述:
给定两个二叉树,编写一个函数来检验它们是否相同。
如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。
示例 1:
输入: 1 1
/ \ /
2 3 2 3[1,2,3], [1,2,3]
输出: true
示例 2:输入: 1 1
/
2 2[1,2], [1,null,2]
输出: false
示例 3:输入: 1 1
/ \ /
2 1 1 2[1,2,1], [1,1,2]
输出: false
/**
本题较为简单,这里只使用递归方法处理
*/
/**
* Definition for a binary tree node.
* class TreeNode(_value: Int = 0, _left: TreeNode = null, _right: TreeNode = null) {
* var value: Int = _value
* var left: TreeNode = _left
* var right: TreeNode = _right
* }
*/
object Solution {
def isSameTree(p: TreeNode, q: TreeNode): Boolean = {
if (p == null && q == null) return true
if (p == null || q == null) return false
if (p.value == q.value) return (isSameTree(p.left, q.left) && isSameTree(p.right, q.right))
else return false
}
}