![](https://img-blog.csdnimg.cn/20210702102734646.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
剑指Offer
剑指题目复习,这里都只提供优质的解法,代码全部由Java语言实现。
祈望每天自然醒
站在巨人的肩膀上看世界会很美好
展开
-
剑指Offer - 06.从尾到头打印链表(栈、Lisr递归、List迭代)
剑指Offer - 06.从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制: 0 <= 链表长度 <= 10000分析&coding这个题就是简单的遍历链表,但是这里值得注意的一点就是它需要逆序的结果。下面提供三种解法:1.栈(推荐)性能虽然不是最优,但是想法很好那么这里提到逆序首先想到的就是我们所学过的 栈 结构,先进后出刚好就得到了我们需要的结果。时间原创 2021-07-12 00:15:22 · 108 阅读 · 2 评论 -
剑指Offer - 05. 替换空格(字符串修改)
剑指Offer - 05. 替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000分析看完题目,这个题没有什么特别优秀的解法,就使用常规的解法操作也没问题,考察了基础知识,涉及到StringdD charAt(index)、构造方法String(char value[], int offset, int count)的操作。感兴原创 2021-07-06 22:08:17 · 182 阅读 · 1 评论 -
剑指Offer - 4.二维数组中的查找(线性查找)
剑指Offer - 4.二维数组中的查找(线性查找)原题链接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5,原创 2021-07-05 21:54:04 · 103 阅读 · 0 评论 -
剑指Offer - 3.数组中重复的数字(原地排序)
剑指Offer - 3.数组中重复的数字(原地排序)在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 限制: 2 <= n <= 100000分析根据题目的意思,它是类似于对数组进行排序的一个题,而与常规的排序问题不同的是这个题数据的范围是0~n-1,这就是告诉我们,这个题原创 2021-07-04 17:08:24 · 178 阅读 · 2 评论