Задача: То же дерево
https://t.me/Golang_google


Условие:
Получив корни двух бинарных деревьев p и q, напишите функцию, проверяющую, совпадают ли они.
Два бинарных дерева считаются одинаковыми, если они структурно идентичны, а узлы имеют одинаковое значение.
Примеры (картинки по порядку):
Ввод: p = [1,2,3], q = [1,2,3]
Вывод: true
Ввод: p = [1,2], q = [1,null,2]
Вывод: false
Ввод: p = [1,2,1], q = [1,1,2]
Вывод: false
Ограничения:
Количество узлов в обоих деревьях находится в диапазоне [0, 100].
Решение%
Go
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func isSameTree(p *TreeNode, q *TreeNode) bool {
if p==nil || q==nil { return p==q }
return p.Val==q.Val && isSameTree(p.Right,q.Right) && isSameTree(p.Left,q.Left)
}