输入两个二叉树A与B,判断B是否是A的子结构

思路:第一步判断a的值是否和b的根结点相等不,不相等比较a的左子树和b进行比较,不同在判断a的右子树与b进行比较,重复第一步迭代。第二步,,当找到a的子树和b的根结点相同时,比较该子树的左右结点 是否和b的左右结点相同。

(TreeNote root1,TreeNote root2){boolean result=false;if(root1!=null&&root2!=null){if(root1.getValue()==root2.getValue()){result=doseTree1HasTree2(root1, root2);}if(!result){result= hasSubTree(root1.getLeftTreeNote(), root2);}if(!result){result=hasSubTree(root1.getRighTreeNote(), root2);}}return result;}(TreeNote root1,TreeNote root2){if(root2==null){return true;}if(root1==null){return false;}if(root1.getValue()!=root2.getValue()){return false;}return doseTree1HasTree2(root1.getLeftTreeNote(), root2.getLeftTreeNote())&&doseTree1HasTree2(root1.getRighTreeNote(), root2.getRighTreeNote());}

定义二叉树

public class TreeNote {; TreeNote rightTreeNote; (){}(int value){this.value=value;}(){return value;}(TreeNote leftTreeNote){this.leftTreeNote=leftTreeNote;}public TreeNote getLeftTreeNote(){return leftTreeNote;}(TreeNote rightTreeNote){this.rightTreeNote=rightTreeNote;}public TreeNote getRighTreeNote(){return rightTreeNote;}}

而你自己根本不想从中跑出来。学习啦分享旅行唯美心情说说语录,仅供参考!

输入两个二叉树A与B,判断B是否是A的子结构

相关文章:

你感兴趣的文章:

标签云: