《程序员代码面试指南》第三章 二叉树问题 判断t1树是否包含t2树全部的拓扑结构...
题目
判断t1树是否包含t2树全部的拓扑结构
java代码
package com.lizhouwei.chapter3;/*** @Description:判断t1树是否包含t2树全部的拓扑结构* @Author: lizhouwei* @CreateDate: 2018/4/14 22:31* @Modify by:* @ModifyDate:*//*
*@Author lizhouwei
*/
public class Chapter3_11 {public boolean isContains(Node head1, Node head2) {if (head1 == null) {return false;}return check(head1, head2) || isContains(head1.left, head2) || isContains(head1.right, head2);}public boolean check(Node head1, Node head2) {if (head2 == null) {return true;}if (head1 == null || head1.value != head2.value) {return false;}return check(head1.left, head2.left) && check(head1.right, head2.right);}//测试public static void main(String[] args) {Chapter3_11 chapter = new Chapter3_11();Node head1 = new Node(1);head1.left = new Node(2);head1.right = new Node(3);head1.left.left = new Node(4);head1.left.right = new Node(5);head1.right.left = new Node(6);head1.right.right = new Node(7);head1.left.left.left = new Node(8);head1.left.left.right = new Node(9);head1.left.right.left = new Node(10);Node head2 = new Node(2);head2.left = new Node(4);head2.right = new Node(5);head2.left.left = new Node(8);System.out.print("head1 是否包含head2 :" + chapter.isContains(head1, head2));}
}
结果
转载于:https://www.cnblogs.com/lizhouwei/p/8836356.html
《程序员代码面试指南》第三章 二叉树问题 判断t1树是否包含t2树全部的拓扑结构...相关推荐
- 《程序员代码面试指南》第二章 链表问题 构造链表和节点的实体
准备一些链表和节点的实体,方便后面使用 java代码 /*** @Description:构造一个链表实体,方便后续构造链表* @Author: lizhouwei* @CreateDate: 201 ...
- 《程序员代码面试指南》第二章 链表问题 在单链表和双链表中删除倒数第K个节点...
题目 在单链表和双链表中删除倒数第K个节点 java代码 /*** @Description:在单链表和双链表中删除倒数第K个节点* @Author: lizhouwei* @CreateDate: ...
- 《程序员代码面试指南》第二章 链表问题 搜索二叉树转换为双向链表
样例 树的中序遍历:1 2 3 4 5 6 7 ,转换后双向链表的遍历:1 2 3 4 5 6 7 java代码 /*** @Description:搜索二叉树转换为双向链表* @Author: li ...
- 《程序员代码面试指南》第二章 链表问题 反转部分单向链表
题目 给一个单向链表和开始和结束的位置,将这两位置区间链表进行反转 java代码 /*** @Description:反转部分单向链表* @Author: lizhouwei* @CreateDate ...
- 《程序员代码面试指南》第一章 栈和队列 设计一个有getMin功能的栈
题目 实现一个特殊的栈,在实现栈的基本功能上,再实现返回栈中最小的元素的操作 要求 1. pop.push.getMin操作时间复杂度都是O(1) 2. 设计的栈类型可以使用现成的栈结构 java代码 ...
- 《程序员代码面试指南》第二章 链表问题 删除无序链表中值重复的链表
样例 998 998 998 999 999 999 1000 1000 1000 删除后为998 999 1000 java代码 /*** @Description:删除无序链表中值重复的链表* @ ...
- 《程序员代码面试指南第二版》Python实现(个人读书笔记)
说明 最近在读左神的书---<程序员代码面试指南-IT名企算法与数据结构题目最优解(第二版)>以及看了一些左神的基础.进阶.高频等视频课程,为了记录自己的学习成果,并且方便以后查看,将自己 ...
- 程序员代码面试指南第二版 4.猫狗队列
welcome to my blog 程序员代码面试指南第二版 4.猫狗队列 题目描述 题目描述 实现一种猫狗队列的结构,要求如下: 1. 用户可以调用 add 方法将 cat 或者 dog 放入队列 ...
- 算法大神左程云耗尽5年心血分享程序员代码面试指南第2版文档
前言 学习是一种基础性的能力.然而,"吾生也有涯,而知也无涯.",如果学习不注意方法,则会"以有涯随无涯,殆矣". 学习就像吃饭睡觉一样,是人的一种本能,人人都 ...
- 《程序员代码面试指南》第三章 二叉树问题 二叉树节点间的最大距离问题
题目 二叉树节点间的最大距离问题 java代码 package com.lizhouwei.chapter3;/*** @Description:二叉树节点间的最大距离问题* @Author: liz ...
最新文章
- ArrayList的subList方法
- 一文读懂图像局部特征点检测算法
- Docker 常用命令 (持续更新)
- python组件的react实现_React-Router动态路由设计最佳实践
- Composer 中国全量镜像(二)
- Xshell的一些实用技巧
- React JS 组件间沟通的一些方法
- jq之fadeOut()
- java局部变量简述
- VS编译时自动引用Debug|Release版本的dll
- ArcGIS 地统计的几种空间插值的应用范围和区别
- Hibernate基础知识
- 关于LR和PS显示颜色和到处颜色不同的处理办法
- 计算机网络实验:无线组网
- 相关模块的接口表及API
- 《途客圈创业记:不疯魔,不成活》一一2.9 UX再造
- 韩商言喊你来使用模切ERP系统
- 管理知识型员工:德鲁克日志之五月一日
- matlab里findobj,Matlab之findobj()
- 燕山大学数据结构与算法课程实践——ISBN号识别系统的设计与开发
热门文章
- Atitit 项目wechat微信截屏生成vcf通讯录384 个 384个人 42个节拍,平均每个8个人 技术点 im图像裁剪, ocr Tesseract Vcf格式 /wechatTel
- Atitit java wav 压缩 mp3功能总结 目录 1.1. Lame mp3编码器	1 1.2. 使用时发现错误,不支持Unsupported number of channels: 4
- atitit 读书与获取知识资料的attilax的总结与心得 v6
- atitit.抽奖活动插件组件设计--结构设计and 抽奖流程建模
- atitit.提升软件开发效率大的总结O5
- paip.提升安全性--------用户密码控件方案总结
- 不一样的摊余成本法债基—终篇
- Oauth2.0如何理解?
- Kafka开源转商业实践,助力车主无忧系统稳健 | 凌云时刻
- 《巴伦周刊》:除了芯片,英特尔还是一家顶级风投