数据结构与算法
许你人间月
这个作者很懒,什么都没留下…
展开
-
2022.4.20--山羊拉丁文
山羊拉丁文给你一个由若干单词组成的句子 sentence ,单词间由空格分隔。每个单词仅由大写和小写英文字母组成。请你将句子转换为 “山羊拉丁文(Goat Latin)”(一种类似于 猪拉丁文 - Pig Latin 的虚构语言)。山羊拉丁文的规则如下:如果单词以元音开头(‘a’, ‘e’, ‘i’, ‘o’, ‘u’),在单词后添加"ma"。例如,单词 “apple” 变为 “applema” 。如果单词以辅音字母开头(即,非元音字母),移除第一个字符并将它放到末尾,之后再添加"ma"。例如,原创 2022-04-21 10:59:52 · 135 阅读 · 0 评论 -
力扣--替换空格
替换空格请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例 1:输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000思路:借助stringbuilder类,当当前值为空格时替换为%20追加至末尾,否则直接添加原值到末尾即可代码:class Solution { public String replaceSpace(String s) { StringB原创 2022-04-20 14:20:07 · 194 阅读 · 0 评论 -
反转字符串Ⅱ
反转字符串Ⅱ给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。如果剩余字符少于 k 个,则将剩余字符全部反转。如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。示例 1:输入:s = "abcdefg", k = 2输出:"bacdfeg"示例 2:输入:s = "abcd", k = 2输出:"bacd"提示:1 <= s.length <= 104s 仅由小写原创 2022-04-20 14:19:01 · 134 阅读 · 0 评论 -
反转字符串
反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。示例 1:输入:s = ["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:输入:s = ["H","a","n","n","a","h"]输出:["h","a","n","n","a","H"]提示:1 <= s.length <=原创 2022-04-20 14:18:34 · 82 阅读 · 0 评论 -
2022.4.19--字符的最短距离
字符的最短距离给你一个字符串 s 和一个字符 c ,且 c 是 s 中出现过的字符。返回一个整数数组 answer ,其中 answer.length == s.length 且 answer[i] 是 s 中从下标 i 到离它 最近 的字符 c 的 距离 。两个下标 i 和 j 之间的 距离 为 abs(i - j) ,其中 abs 是绝对值函数。示例1输入:s = "loveleetcode", c = "e"输出:[3,2,1,0,1,0,0,1,2,2,1,0]解释:字符 'e' 出现原创 2022-04-19 09:17:34 · 172 阅读 · 0 评论 -
移除链表元素
移除链表元素给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val == val 的节点,并返回 新的头节点示例1[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C7YHNVGU-1650250120946)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220418100750771.png)]输入:head = [1,2,6,原创 2022-04-18 10:49:24 · 390 阅读 · 0 评论