一、题目 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。二、思路 队列LinkedList完成层序遍历,用end记录每层结点数目 三、代码 im…
分类:剑指offer六十道题解
剑指offer五十九之按之字形顺序打印二叉树
一、题目 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。二、思路 详见代码 三、代码 import java.ut…
剑指offer五十八之对称的二叉树
一、题目 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。二、思路 递归做,详见代码 三、代码 /* publi…
剑指offer五十七之二叉树的下一个结点
一、题目 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 二、思路 结合图,我们可发现分成两大类: 1、有右子树的,那么下个结点…
剑指offer五十六之删除链表中重复的结点
一、题目 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->…
剑指offer五十五之链表中环的入口结点
一、题目 一个链表中包含环,请找出该链表的环的入口结点。 二、思路 方法一: 假设x为环前面的路程(黑色路程),a为环入口到相遇点的路程(蓝色路程,假设顺时针走), c为环的长度(蓝色+橙色路程)。 定义一个快指…
剑指offer五十四之字符流中第一个不重复的字符
一、题目 请实现一个函数用来找出字符流中第一个只出现一次的字符。例如,当从字符流中只读出前两个字符”go”时,第一个只出现一次的字符是”g”。当从该字符流中读出前六个字…
剑指offer五十三之表示数值的字符串
一、题目 请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串”+100″,”5e2″,”-123″,”3.14…
剑指offer五十二之正则表达式匹配
一、题目 请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而’*’表示它前面的…
剑指offer五十一之构建乘积数组
一、题目 给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]*A[1]*…*A[i-1]*A[i+1]*…*…
剑指offer五十之数组中重复的数字
一、题目 在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3…
剑指offer四十九之把字符串转换成整数
一、题目 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0 二、思路 详见代码。 三、代码 public class Solution { publi…