![](https://img-blog.csdnimg.cn/20200920225847491.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
剑指Offer
记录剑指Offer的刷题过程
双人与余
熟能生巧
展开
-
剑指Offer 03 从尾到头打印链表
题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList。说明:本题目包含复杂数据结构ListNode,点此查看相关信息解答读完题第一想法就先正序存储链表,再从尾到头遍历/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }原创 2020-09-23 23:21:38 · 70 阅读 · 0 评论 -
剑指Offer02 替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。解答第一想法是直接调用replace方法public String replaceSpace(StringBuffer str) { int index = str.indexOf(" "); while(index != -1){ str.replace(index,index+1,"%20");原创 2020-09-23 22:59:01 · 70 阅读 · 0 评论 -
剑指Offer 07 斐波那契数列
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=39解答:斐波那契数列特特点是前两项为1,后面所有项都是前两项之和。即当n>=2时,有A(n)=A(n-1)+A(n-2)根据这个公式很自然的想到递归法:public class Solution { public int Fibonacci(int n) { int result; if(n<=0) retur原创 2020-09-21 22:49:21 · 103 阅读 · 0 评论 -
剑指Offer 01 二维数组中的查找
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解答:先和二维数组最右上角的值比较,比它小就往左走继续比较,比它大就向下继续比较,循环此过程知道找到相等的值,如果走出去了还没找到就返回falsepublic class Solution { public boolean Find(int [][] array,int target) {原创 2020-09-20 23:27:29 · 76 阅读 · 0 评论