
剑指offer
剑指offer题目的解析
san點
这个作者很懒,什么都没留下…
展开
-
剑指offer之变态跳台阶 (java)
一.题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。二.知识点:递归三.思路:定义问题为f(n),那么由题目信息可知,f(n) = f(n - 1) + … + f(2) + f(1),f(n-1)=f(n-2)+···+f(1)+1。将下式带入上式,得到f(n)=2*f(n-1)四.解答:public class Solution { public int JumpFloorII(int target) {原创 2020-07-21 09:53:00 · 155 阅读 · 0 评论 -
剑指offer之二叉树的镜像 (java)
一.题目:操作给定的二叉树,将其变换为源二叉树的镜像。二.知识点:二叉树:Java数据结构之二叉树三.思路:交换左右子树的节点,然后递归调用该方法四.解答:/**public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; }}*/publ原创 2020-07-21 09:46:11 · 123 阅读 · 0 评论 -
剑指offer之二叉树的深度 (java)
一.题目:二.知识点:三.解答:四.总结:原创 2020-07-21 09:31:13 · 121 阅读 · 0 评论 -
剑指offer之不用加减乘除做加法 (java)
一.题目:写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。二.知识点:二进制转换三.解答:public class Solution { public int Add(int num1,int num2) { int sum1,sum2; while(num2!=0){ sum1=num1^num2; sum2=(num1&num2)<<1;原创 2020-07-20 21:51:57 · 101 阅读 · 0 评论 -
剑指offer之构建乘积数组 (java)
一.题目:给定一个数组A[0,1,…,n-1],请构建一个数组B[0,1,…,n-1],其中B中的元素B[i]=A[0]A[1]…*A[i-1]A[i+1]…*A[n-1]。不能使用除法。(注意:规定B[0] = A[1] * A[2] * … * A[n-1],B[n-1] = A[0] * A[1] * … * A[n-2];)二.知识点:(1)数组三.解答:四.总结:...原创 2020-07-20 21:44:22 · 93 阅读 · 0 评论 -
剑指offer之重建二叉树 (java)
一.题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。二.知识点:(1)二叉树三.解答:/** * Definition for binary tree * public class TreeN...原创 2020-04-24 19:30:27 · 97 阅读 · 0 评论 -
剑指offer之从尾到头打印链表 (Java)
一.题目:输入一个链表,按链表从尾到头的顺序返回一个ArrayList。二.知识点:(1)链表(2)ArrayList底层数据结构是数组。ArrayList是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List,RandomAccess,Cloneable,java.io.Serializable这些接口。线程不安全,...原创 2020-04-19 21:47:59 · 125 阅读 · 0 评论 -
剑指offer之替换空格 (Java)
一.题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。二.知识点:(1).字符串(2).StringBufferStringBuffer 是一个线程安全的可变的字符序列。它继承于AbstractStringBuilder,实现了CharSequence接口。StringBu...原创 2020-04-19 19:28:03 · 110 阅读 · 0 评论 -
剑指offer之二维数组中的查找 (Java)
一.题目:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。二.知识点:(1)元素查找(2)数组三.解答:public class Solution { //二维数组 行长度:array.length,列长度:array[i].lengt...原创 2020-04-19 19:11:05 · 131 阅读 · 0 评论