对于数据结构我们肯定知道二叉树,今天无聊就写一个简单的是否是二叉树的数据结构的判断,中间也用了递归。
采用java语言实现,具体的代码如下:
//二叉树的基本结构判断
public class erchashu {
public static class TreeNode{
public int val;
public TreeNode left;
public TreeNode right;
}
public static boolean isSamTree(TreeNode m, TreeNode n){
//1、首先写特殊情况,如果都是为空的节点,那么就是同一个节点
if(m == null && n == null){
return true;
}
//2、采用亦或进行判断,如果两棵树有一个为空,一个不为空则肯定不是同样的一棵树。
// 接下来就只剩下两个同时不为空的场景了
if(m == null ^ n == null){
return false;
}
//3、最后一步我们对同时不为空的两棵树进行判断
return (m.val == n.val && isSamTree(m.left,n.left) && isSamTree(m.right,n.right));
}
}
打好数据结构的基础,甚为重要哈。