
字符串
换名换一年
学习使我快乐!
展开
-
leetcode刷题 Java ------ 1370.上升下降字符串
上升下降字符串1.题目描述2.题目示例3.思路及代码1.题目描述给你一个字符串 s ,请你根据下面的算法重新构造字符串:从 s 中选出 最小 的字符,将它 接在 结果字符串的后面。 从 s 剩余字符中选出 最小 的字符,且该字符比上一个添加的字符大,将它 接在结果字符串后面。 重复步骤 2 ,直到你没法从 s 中选择字符。 从 s 中选出 最大 的字符,将它 接在 结果字符串的后面。 从 s剩余字符中选出 最大 的字符,且该字符比上一个添加的字符小,将它 接在 结果字符串后面。 重复步骤 5 ,原创 2020-11-25 11:16:54 · 119 阅读 · 0 评论 -
Leetcode Java 每日一题 ------- 242.有效的字母异位词
有效的字母异位词1.题目描述2.题目示例3.思路及代码1.题目描述给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。2.题目示例3.思路及代码思路一:利用hashmap,暴力求解代码:class Solution { public boolean isAnagram(String s, String t) { //长度不一样直接返回false if(s.length() != t.length()){原创 2020-11-22 10:02:42 · 190 阅读 · 0 评论 -
Nowcoder----替换空格
替换空格1.题目描述2.题目示例3.思路及代码1.题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。2.题目示例例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。3.思路及代码思路:先找出空格个数,设置新的字符串的长度然后从后往前遍历进行替换即可代码:public class Solution { public String replaceSpace(StringBuffer str) {原创 2020-11-03 11:41:54 · 143 阅读 · 0 评论 -
leetcode----剑指offer58. II.左旋转字符串
左旋转字符串1.题目描述2.题目示例3.思路及代码1.题目描述字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。2.题目示例3.思路及代码思路一:三次旋转即可1.先反转前n项2.反转后n项3.整体反转代码:class Solution { public String reverseLeftWords(String原创 2020-11-01 13:40:52 · 201 阅读 · 2 评论 -
leetcode 力扣刷题------925.长按键入
文章目录925.长按键入1.题目描述2.题目示例3.思路及代码925.长按键入1.题目描述你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。这个题我觉得非常有意思,巧妙的利用了双指针,并且在边界条件上做了很多的处理,对逻辑能力的训练挺好的。2.题目示例3.思路及代码思路:双指针,一个i指向na原创 2020-10-21 10:06:42 · 259 阅读 · 0 评论 -
力扣打卡刷题-------844.比较含退格的字符串多种解法
文章目录844.比较含退格的字符串1.题目描述2.题目示例3.思路及代码844.比较含退格的字符串1.题目描述给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。2.题目示例进阶:你可以用 O(N) 的时间复杂度和 O(1) 的空间复杂度解决该问题吗?3.思路及代码(非进阶易懂)思路一:利用StringBuilder,每次append时检查,如果有退格,那么就删原创 2020-10-19 15:44:32 · 155 阅读 · 0 评论 -
力扣刷题-----1576.替换所有的问号
文章目录替换所有的问号1.题目描述2.题目示例3.思路及代码替换所有的问号1.题目描述给你一个仅包含小写英文字母和 ‘?’ 字符的字符串 s,请你将所有的 ‘?’ 转换为若干小写字母,使最终的字符串不包含任何 连续重复的字符。注意:你 不能 修改非 ‘?’ 字符。题目测试用例保证 除 ‘?’ 字符 之外,不存在连续重复的字符。在完成所有转换(可能无需转换)后返回最终的字符串。如果有多个解决方案,请返回其中任何一个。可以证明,在给定的约束条件下,答案总是存在的。2.题目示例示例 1:原创 2020-10-14 20:55:41 · 371 阅读 · 0 评论 -
(每日打卡)Leetcode-------括号的最大嵌套深度
5535.括号的最大嵌套深度1.题目描述如果字符串满足一下条件之一,则可以称之为 有效括号字符串(valid parentheses string,可以简写为 VPS):字符串是一个空字符串 “”,或者是一个不为 “(” 或 “)” 的单字符。 字符串可以写为 AB(A 与 B 字符串连接),其中 A 和 B都是 有效括号字符串 。 字符串可以写为 (A),其中 A 是一个 有效括号字符串 。 类似地,可以定义任何有效括号字符串 S 的 嵌套深度depth(S):depth("") = 0 d原创 2020-10-11 21:29:06 · 384 阅读 · 0 评论 -
Leetcode每日打卡-----反转字符串20201008+ 上升下降字符串
文章目录344.反转字符串1.题目描述2.题目示例3.思路及代码344.反转字符串1.题目描述编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。2.题目示例示例 1:输入:["h","e","l","l","o"]输出:["o","l","l","e","h"]示例 2:输入:原创 2020-10-08 14:28:34 · 209 阅读 · 0 评论 -
Leetcode每日打卡-----字符串相加
文章目录451.字符串相加1.题目描述2.题目示例3.思路及代码451.字符串相加1.题目描述给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和。提示:num1 和num2 的长度都小于 5100 num1 和num2 都只包含数字 0-9 num1 和num2 都不包含任何前导零你不能使用任何內建 BigInteger 库, 也不能直接将输入的字符串转换为整数形式2.题目示例“1”,“2”返回33.思路及代码思路:不能使用Integer中的库,所以这题就应该使原创 2020-10-06 22:04:15 · 260 阅读 · 0 评论 -
Leetcode每日打卡20201002------宝石与石头(多种写法)
文章目录宝石与石头宝石与石头给定字符串J 代表石头中宝石的类型,和字符串 S代表你拥有的石头。 S中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。J 中的字母不重复,J 和 S中的所有字符都是字母。字母区分大小写,因此"a"和"A"是不同类型的石头。示例:示例 1:输入: J = "aA", S = "aAAbbbb"输出: 3示例 2:输入: J = "z", S = "ZZ"输出: 0注意:S 和 J 最多含有50个字母。J 中的字符原创 2020-10-02 15:16:47 · 156 阅读 · 0 评论 -
Leetcode每日打卡20201001-----回文数
9.回文数判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。进阶:你能不将整数转为字符串来解决这个问题吗?思路一:转为字符串解决,双指针,互相遍历,不等原创 2020-10-01 14:05:42 · 182 阅读 · 0 评论