摘要:
栈:只允许在一端进行插入或删除操作的线性表 操作特性:后进先出(LIFO) 顺序栈 共享栈 链栈 基本运算:初始化、判栈空、进栈、出栈、读栈顶元素 队列:只允许在表的一端进行插入,另一端进行删除 操作特性:先进先出(FIFO) 队列顺序存储 队列的链式存储 基本操作:初始化、判队空、入队、出队、读队 阅读全文
摘要:
题目: 给定一个非空的字符串 s ,检查是否可以通过由它的一个子串重复多次构成。 示例: 输入: s = "abab" 输出: true 解释: 可由子串 "ab" 重复两次构成。 输入: s = "aba" 输出: false 思路: 1.移动匹配 判断字符串s是否由重复子串组成,只要两个s拼接在 阅读全文
摘要:
题目: 给你两个字符串 haystack 和 needle ,请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标(下标从 0 开始)。如果 needle 不是 haystack 的一部分,则返回 -1 。 示例: 输入:haystack = "sadbutsad", n 阅读全文
摘要:
题目: 字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。 示例: 输入: s = "abcdefg", k = 2 输出: "cdefgab" 思 阅读全文
摘要:
题目: 给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符 阅读全文
摘要:
题目: 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 示例: 输入:s = "We are happy." 输出:"We%20are%20happy." 思路: 直接的思路就是:使用一个新的对象,复制 str,复制的过程对其判断,是空格则替换,否则直接复制。 JAVA中Stringb 阅读全文
摘要:
题目: 给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。 如果剩余字符少于 k 个,则将剩余字符全部反转。 如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。 示例: 输入:s = "abcde 阅读全文
摘要:
题目: 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例: 输入:s = ["h","e","l","l","o"] 输出:["o","l","l","e"," 阅读全文
摘要:
题目: 给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复): 0 <= a, b, c, d < n 阅读全文
摘要:
题目: 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答 阅读全文