输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
来源:互联网 发布:amx cdc数据 编辑:程序博客网 时间:2024/04/29 15:50
package com.dixin.temp;import org.junit.Test;import java.util.ArrayList;/** * Created by admin on 2017/10/25. * 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构) */public class I { class TreeNode {//内部类二叉树类 int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } public boolean HasSubtree(TreeNode root1,TreeNode root2) { //思路:用先序或者中序或者后序遍历,两树应该一致 //注意:此题先序遍历不好使,一开始就用的先序,先序左与右分开,遍历时中间会插入别的元素 if(root1==null||root2==null) { return false; } ArrayList<TreeNode> list1=new ArrayList<>();//A树的中序遍历 ArrayList<TreeNode> list2=new ArrayList<>();//B树的中序遍历 pre(root1,list1); pre(root2,list2); StringBuffer sb1=new StringBuffer();//StringBuffer相比于String更适合做字符串连接 for(int i=0;i<list1.size();i++) { sb1.append(list1.get(i).val); } StringBuffer sb2=new StringBuffer(); for(int i=0;i<list2.size();i++) { sb2.append(list2.get(i).val); } //判断字符串2是否是字符串1的字串 return sb1.toString().indexOf(sb2.toString())>=0?true:false; } public void pre(TreeNode root,ArrayList<TreeNode> list) {//我用的中序遍历中左右 if(root==null) { return; } list.add(root); pre(root.left,list); pre(root.right,list); } @Test public void test() { TreeNode root1=new TreeNode(1); root1.left=new TreeNode(2); root1.right=new TreeNode(3); TreeNode root2=new TreeNode(1); root2.left=new TreeNode(2); root2.right=new TreeNode(3); HasSubtree(root1,root2); }}
阅读全文
0 0
- 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
- 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
- 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
- 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
- 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
- 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
- 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
- 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
- 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
- 剑指offer-输入两棵二叉树A,B,判断B是不是A的子结构(ps:我们约定空树不是任意一个树的子结构)
- java实现输入两棵二叉树A,B,判断B是不是A的子结构
- 15.输入两棵二叉树A,B,判断B是不是A的子结构
- 题目:输入两棵二叉树A和B,判断B是不是A的子结构。
- 输入两棵二叉树A,B,判断B是不是A的子结构。
- 输入两棵二叉树A,B,判断B是不是A的子结构
- 输入两棵二叉树A,B,判断B是不是A的子结构。
- 输入两棵二叉树A和B,判断B是不是A的子结构
- 输入两颗二叉树A,B,判断B是不是A的子结构。
- 框架
- font-size:0的妙用
- 如何使用AsyncTask防止内存泄漏(Handler同理)
- PBE加解密
- Servlet API中主要的接口与类
- 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
- python:12:模块和包
- 78. Subsets
- Python: PS 滤镜--USM 锐化
- 从王者荣耀聊聊游戏的帧同步
- 自定义view圆角图片带边框
- 再见,csdn!
- basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
- Palindromic Substrings