Same Tree
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.
题意:比较两个二叉树是否相等,对相等的判定为–结构一样并且节点值也一样。
解题思路:采用前序遍历方法遍历二叉树,并把遍历的节点值存储在数组中,并且也把每个节点的空子树也储存下来(用0表示某个节点的空子树)。
难点:对二叉树的遍历,结构相等则需要把每个节点的左右子树(包括空子树也表示在数组中,类似于一颗完全二叉树)。
C语言实现代码如下:
/**解题思路:采用递归遍历二叉树,并把各个节点值存储在数组中(把每个节点对应的空子树节点值用0来存储,类似于存储一颗完全二叉树),
* 通过比较两个数组对应值的带下来判断两课二叉树是否相等
* Definition for binary tree
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
void PreOrder(struct TreeNode *root,