一、题目 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接…
标签:剑指offer六十道题解
剑指offer三十九之平衡二叉树
一、题目 输入一棵二叉树,判断该二叉树是否是平衡二叉树。 二、思路 详解代码。 三、代码 public class Solution { &…
剑指offer二十八之数组中出现次数超过一半的数字
一、题目 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。如果不存在则输出…
剑指offer十二之数值的整数次方
一、题目 给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。 二、思路 1、传统方法计算,时间复杂度O(n) 2、递归方式计算,时间复杂度O(logn) &…
剑指offer四十五之扑克牌顺子(序列是否连续)
一、题目 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体…
剑指offer四之重建二叉树
一、题目: 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3…
剑指offer三从头到尾打印链表
一、题目: 输入一个链表,从尾到头打印链表每个节点的值。 二、解题方法: 方法一:采用递归的方式实现 方法二:借助堆栈的“后进先出”实现 import jav…
剑指offer二之替换空格
一、题目: 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为I love you.则经过替换之后的字符串为I%20love%20You。 二、解题方法: 方法1:采用String的repal…
剑指offer八之跳台阶
一、题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 二、思路 a.如果两种跳法,1阶或者2阶,那么假定第一次跳的是一阶,那么剩…
剑指offer五之用两个栈实现队列
一、题目 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 二、思路 1、Push操作:将数据直接压入stack1即可 &n…
剑指offer四十三之左旋转字符串
一、题目 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,…
剑指offer四十七之求1+2+3+...+n
一、题目 求1+2+3+…+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 二、思路 1.需利用逻辑与的短路特性实现递归终止。…