一、题目 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 二、思路 1.需利用逻辑与的短路特性实现递归终止。…
分类:剑指offer
剑指offer解题报告(Java版)——判断一个数组是否是二叉搜索树的后序遍历序列 24
引言 继续二叉树,这个题考的知识点是二叉树的后续遍历 分析问题 对于一个二叉树的后序遍历序列来说,最后一个数一定是根节点,然后前面的数中…
剑指offer三十七之数字在排序数组中出现的次数
一、题目 统计一个数字在排序数组中出现的次数。 二、思路 解法一:遍历数组计数 解法二:考虑到时有序数组,所以采用分查找,找到第一个K 和 最后一个K的位置, 二者相减。 三、代码 解法一: public int G…
二维数组中查找 3
先判断数组是否为空,为空返回false 不为空进入循环 获得矩阵的行数:rows=matrix.length 获得矩阵的列数:columns=matrix[0].l…
剑指offer四十一之和为S的连续正数序列
一、题目 题目描述:小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多…
剑指offer五十八之对称的二叉树
一、题目 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。二、思路 递归做,详见代码 三、代码 /* publi…
剑指offer三十二之把数组排成最小的数
一、题目 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。 二、思路 &n…
剑指offer二十三之二叉搜索树的后序遍历序列
一、题目 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 二、思路 1、二叉搜索树又称二叉排序树(Binary Sort T…
剑指Offer解题报告(Java版)——扑克牌顺子 44
分析问题 这个题目的关键点在于大小王可以看作任意的数字,那么我们就把这个任意的数字看作0也未尝不可,因为扑克牌中1-15都有数字,所以可以用0代表大小王  …
剑指offer五十二之正则表达式匹配
一、题目 请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而’*’表示它前面的…
合并排序的链表 17
总结 递归 比较两个链表当前节点的大小,将小的放入结果链表中 递归基石节点为空,返回另一个链表 packag…
offer--链表反转和从尾到头打印链表
这个是高频的面试题,今天总结了一些。反转链表用三个指针实现,返回新链表的头节点;而从尾到头打印,应用栈实现,返回vector整个链表。 //题目描述 // //输入一…