剑指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 · 129 阅读 · 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 · 93 阅读 · 0 评论 -
剑指offer之二叉树的深度 (java)
一.题目: 二.知识点: 三.解答: 四.总结:原创 2020-07-21 09:31:13 · 92 阅读 · 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 · 75 阅读 · 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 · 71 阅读 · 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 · 75 阅读 · 0 评论 -
剑指offer之从尾到头打印链表 (Java)
一.题目: 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 二.知识点: (1)链表 (2)ArrayList 底层数据结构是数组。ArrayList是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List,RandomAccess,Cloneable,java.io.Serializable这些接口。线程不安全,...原创 2020-04-19 21:47:59 · 105 阅读 · 0 评论 -
剑指offer之替换空格 (Java)
一.题目: 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 二.知识点: (1).字符串 (2).StringBuffer StringBuffer 是一个线程安全的可变的字符序列。它继承于AbstractStringBuilder,实现了CharSequence接口。 StringBu...原创 2020-04-19 19:28:03 · 89 阅读 · 0 评论 -
剑指offer之二维数组中的查找 (Java)
一.题目: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 二.知识点: (1)元素查找 (2)数组 三.解答: public class Solution { //二维数组 行长度:array.length,列长度:array[i].lengt...原创 2020-04-19 19:11:05 · 107 阅读 · 0 评论