![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指offer
IT精英之路
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 38. 字符串的排列
算法,字符串排列原创 2022-06-30 22:51:18 · 87 阅读 · 0 评论 -
剑指offer_编程题_输出字符串
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。分析根据返回从头到尾的ArrayList,刚好符合"先进后出"的原则,对应数据结构的 栈,所以用栈来存储源代码public class Dome5 { int value;//数值 Dome5 next=null;//指向下一节点 public Dome5(int value) { ...原创 2018-11-12 23:12:40 · 142 阅读 · 0 评论 -
剑指offer_编程题_Dome1
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。分析分析:根据数组的数组的规律,左下角的数字最小,所以可以从右上角向左下角查找,查找规则:(1)目标值小于最上角的数,删除列,列数减小(column左移).(2)目标值大于最上角的数,删...原创 2018-11-10 16:19:25 · 155 阅读 · 0 评论 -
剑指offer_编程题_替换字符串
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。分析这个题看起来是很容易做的,就是简单的替换.但当你仔细分析后,就会有一个问题出现,当字符串特别长的时候,应该怎样优化自己的算法呢 ?一般常规的做法是:从前向后遍历字符串,当遇到空格时,把空格用"%20",但是空格后面的字符都...原创 2018-11-11 23:17:00 · 187 阅读 · 0 评论 -
剑指offer_编程题_翻转链表
题目描述输入一个链表,反转链表后,输出新链表的表头。分析当前节点是head,pre为当前节点的前一节点,next为当前节点的下一节点.需要pre和next的目的是让当前节点从pre->head->next1->next2变成pre<-head next1->next2即pre让节点可以反转所指方向,但反转之后如果不用next节点保存next1节点的话,此单链表...原创 2018-11-13 23:48:11 · 138 阅读 · 0 评论 -
剑指offer_编程题_合并有序链表
题目描述输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则分析新定义一个listC从listA和listB的头指针开始比较,小的加入listC,最后把剩下的链表加入listC中.源代码: //合并链表 public Dome5_plus Merge(Dome5_plus list1, Dome5_plus list2) { ...原创 2018-11-14 23:20:03 · 140 阅读 · 0 评论 -
剑指offer_编程题_旋转数组的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。题目分析 旋转之后的数组实际上可以划分成两个有序的子数组:前面子数组的大小都大于后面子数组中的元素 ...原创 2018-11-18 00:52:39 · 143 阅读 · 0 评论