Sulimin
首页
归档
分类
标签
关于
每日目标
剑指Offer58-II.左旋转字符串
剑指Offer58-II左旋转字符串字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串”abcdefg”和数字2,该函数将返回左旋转两位得到的结果”cdefgab”。 示例1: 输入:s = "abcdefg", k = 2 输出:"cdefgab" 示例2: 输入:s = "lrloseumgh", k = 6 输出:"um
2020-11-13
剑指Offer35-复杂链表的复制
请实现copyRandomList函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个next指针指向下一个节点,还有一个random指针指向链表中的任意节点或者null。 示例1: 输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]] 输出:[[7,null],[13,0],[11,4],[10,2],[1,0]] 提示: -10000 <=
2020-11-13
剑指Offer30-包含min函数的栈
定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数在该栈中,调用min、push的时间复杂度都是O(1)。 示例: MinStack minStack = new MinStack() minStack.push(-2); minStack.push(0); minStack.push(-3); minStack.min(); minStack.pop(); minStack.
2020-11-13
剑指Offer24-反转链表
dd定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。 示例: 输入:1->2->3->4->5->NULL 输出:5->4->3->2->1->NULL 限制: 0 <= 节点个数 <= 5000 解题思路: 如下图所示,题目要求将链表反转。本文介绍迭代(双指针)、递归两种实现方法。 方法一:迭代(双指
2020-11-13
剑指Offer20-表示数值的字符串
剑指Offer20.表示数值的字符串请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串”+100”、”5e2”、”-123”、”3.1416”、”1E-16”、”0123”都表示数值,但”12e”、”1a3.14”、“1.2.3”、“+5”及“12e+5.4”都不是。 解题思路: 本题使用有限状态自动机。根据字符类型和合法数值的特点,先定义状态,再画出状态转移图,最后编写代码
2020-11-12
剑指Offer09-用两个栈实现队列
剑指Offer09.用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数appendTail和deleteHead,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回-1) 示例1: 输入: ["CQueue","appendTail","deleteHead","deleteHead"] [[],[3],[],[]]
2020-11-12
剑指Offer06-从尾到头打印链表
剑指Offer06.从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回) 。 示例1: 输入:head = [1,3,2] 输出:[2,3,1] 限制: 0 <= 链表长度 <= 10000 方法一:辅助栈法 链表只能从前至后访问每个节点,而题目要求倒序输出各节点值,这种先入后出的需求可以借助栈来实现。 算法流程: 入栈:遍历链表,将各节点值push入栈
2020-11-12
剑指Offer05-替换空格
剑指Offer05.替换空格请实现一个函数,把字符串s中的每个空格替换为”%20“。 示例1: 输入: s = "We are happy." 输出: ”We%20are%happy." 限制: 0 <= s的长度 <= 10000 方法一:字符数组 由于每次替换从1个字符变成3个字符。使用字符数组可方便地进行替换。建立字符数组(长度为s的长度的3倍),这样可保证字符数组可以容纳所有替
2020-11-12
剑指Offer03-数组中重复的数字
剑指Offer03-数组中重复的数字找出数组中重复的数字 在一个长度为n的数组nums里的所有数字都在0~n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。 示例1: 输入: [2,3,1,0,2,5,3] 输出: 2或3 限制: 2<=n<=100000 方法一:遍历数组由于只需要找出数组中任意一个重复的数字
2020-11-12
leetcode922-按奇偶排序数组II
leetcode922.按奇偶排序数组II给定一个非负整数数组A,A中一半整数是奇数,一半整数是偶数。对数组进行排序,以便当A[i]为奇数时,i也是奇数;当A[i]为偶数时,i也是偶数。你可以返回任何满足上述条件的数组作为答案。 示例: 输入:[4,2,5,7] 输出:[4,5,2,7] 解释:[4,7,2,5],[2,5,4,7],[2,7,4,5]也会被接受。 提示: 2<=A.len
2020-11-12
1
2
3
4
5
6
…
11
搜索
×
关键词