剑指Offer
小码哥编程
这个作者很懒,什么都没留下…
展开
-
剑指 Offer 06. 从尾到头打印链表
题目 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 示例 1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 10000 链接:https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof 解题思路 方法一 反转链表后输出到数组 方法二 使用递归:先递归到链表尾,然后添加到数组中,递归终止条件为head == null 方法三 使原创 2020-09-13 13:03:47 · 47 阅读 · 0 评论 -
剑指 Offer 05. 替换空格
题目 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例 1: 输入:s = "We are happy." 输出:"We%20are%20happy." 限制: 0 <= s 的长度 <= 10000 链接:https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof 解题思路 Java解法 初始化一个StringBuilder为res 遍历字符串s中的每个字符c 如果c为空格:添加%20到res中 如果c不为空格:添加原创 2020-09-13 08:46:06 · 97 阅读 · 0 评论 -
剑指 Offer 04. 二维数组中的查找
题目 在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21, 23, 26, 30] ] 给定 target = 5,返回原创 2020-09-12 21:05:53 · 50 阅读 · 0 评论 -
剑指 Offer 03. 数组中重复的数字
剑指 Offer 03. 数组中重复的数字 题目 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例 1: 输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3 链接:https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof 解题思路 题原创 2020-09-06 09:29:49 · 64 阅读 · 0 评论 -
剑指 Offer 45. 把数组排成最小的数
剑指 Offer 45. 把数组排成最小的数 题目 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 示例 1: 输入: [10,2] 输出: "102" 链接:https://leetcode-cn.com/problems/ba-shu-zu-pai-cheng-zui-xiao-de-shu-lcof 解题思路: 此题求拼接起来的 “最小数字” ,本质上是一个排序问题。 排序判断规则: 设 nums 任意两数字的字符串格式 x 和 y ,则原创 2020-09-05 00:47:40 · 94 阅读 · 0 评论 -
剑指 Offer 65. 不用加减乘除做加法
剑指 Offer 65. 不用加减乘除做加法 题目 解题思路 代码 class Solution { public int add(int a, int b) { while(b != 0) { // 当进位为 0 时跳出 int c = (a & b) << 1; // c = 进位 a ^= b; // a = 非进位和 b = c; // b = 进位 }原创 2020-09-04 09:13:31 · 79 阅读 · 0 评论