广州越秀建网站,免费营销型网站,跨境网站建站,国内设计欣赏网站输入两棵二叉树A#xff0c;B#xff0c;判断B是不是A的子结构。#xff08;ps#xff1a;我们约定空树不是任意一个树的子结构#xff09;
代码#xff1a;
package offer; class TreeNode { int val; TreeNode left null; TreeNode right null; Tr…输入两棵二叉树AB判断B是不是A的子结构。ps我们约定空树不是任意一个树的子结构
代码
package offer; class TreeNode { int val; TreeNode left null; TreeNode right null; TreeNode(int val) { this.val val; } } public class ti26 { public static boolean HasSon(TreeNode node1,TreeNode node2) { boolean result false; if(node1!nullnode2!null) { if(node1.valnode2.val) { result HasSon2(node1,node2); } if(!result) { result HasSon(node1.left,node2); } if(!result) { result HasSon(node1.right,node2); } } return result; } public static boolean HasSon2(TreeNode node1,TreeNode node2) { if(node2null) { return true; } if(node1null) { return false; } if(node1.val!node2.val) { return false; } return HasSon2(node1.left,node2.left)HasSon2(node1.right,node2.right); } public static void main(String[] args) { TreeNode node1 new TreeNode(8); TreeNode node2 new TreeNode(8); TreeNode node3 new TreeNode(7); TreeNode node4 new TreeNode(9); TreeNode node5 new TreeNode(2); TreeNode node6 new TreeNode(4); TreeNode node7 new TreeNode(7); node1.left node2; node1.right node3; node2.left node4; node2.right node5; node5.left node6; node5.right node7; TreeNode node8 new TreeNode(8); TreeNode node9 new TreeNode(9); TreeNode node10 new TreeNode(2); node8.left node9; node8.right node10; System.out.println(HasSon(node1,node8)); } }