📖本篇内容:leetcode每日一题2000. 反转单词前缀 简单的反转字符串题 看来本月是字符串练习题的天下啦!
📑 文章专栏:leetcode每日一题《打卡日常》
📆 最近更新:2022年2月1日 leetcode每日一题1763. 最长的美好子字符串 新年开头祝福美满 美好幸福~
🙊个人简介:一只二本院校在读的大三程序猿,本着注重基础,打卡算法,分享技术作为个人的经验总结性的博文博主,虽然可能有时会犯懒,但是还是会坚持下去的,如果你很喜欢博文的话,建议看下面一行~(疯狂暗示QwQ)
🌇 点赞 👍 收藏 ⭐留言 📝 一键三连 关爱程序猿,从你我做起
🙊写在前面🙊
按照这两天的题型来看,看来本月月初这几天可能会一直是字符串的相关考察了,昨天的字符串的递归求解或是暴力求解,今天也是对字符串的反转以及简单实用求解,看来注定是难忘的一个月份呀,加油加油~休息了两天干劲十足了!!!
题目
给你一个下标从 0 开始的字符串
word
和一个字符ch
。找出ch
第一次出现的下标i
,反转word
中从下标0
开始、直到下标i
结束(含下标i
)的那段字符。如果word
中不存在字符ch
,则无需进行任何操作。
例如,如果
word = "abcdefd"
且ch = "d"
,那么你应该 反转 从下标 0 开始、直到下标 3 结束(含下标 3 )。结果字符串将会是"dcbaefd"
。
返回 结果字符串 。
示例
示例1:
输入:word = "abcdefd", ch = "d"
输出:"dcbaefd"
解释:"d" 第一次出现在下标 3 。
反转从下标 0 到下标 3(含下标 3)的这段字符,结果字符串是 "dcbaefd" 。
示例2:
输入:word = "xyxzxe", ch = "z"
输出:"zxyxxe"
解释:"z" 第一次也是唯一一次出现是在下标 3 。
反转从下标 0 到下标 3(含下标 3)的这段字符,结果字符串是 "zxyxxe" 。
示例3:
输入:word = "abcd", ch = "z"
输出:"abcd"
解释:"z" 不存在于 word 中。
无需执行反转操作,结果字符串是 "abcd" 。
提示
1 <= word.length <= 250
word 由小写英文字母组成
ch 是一个小写英文字母
📝思路📝
本题考察点:
- 对字符串对应的下标位置到零位置处的字符串进行反转,以及对字符串的遍历使用
⭐代码实现⭐
class Solution {
public String reversePrefix(String word, char ch) {
//转换为字符数组
char[] ss = word.toCharArray();
int n = word.length();
//一次遍历即可
for (int i = 0 ; i<n;i++ ){
//判断当前是否存在ch字符
if (ss[i] == ch){
StringBuilder str = new StringBuilder();
//将我们从下标0到第一次遇到字符时的下标i的字符串添加到StringBuilder中
str.append(word.substring(0,i+1));
//将其反转并且把后续的字符串补齐
return str.reverse().append(word.substring(i+1)).toString();
}
}
//如果没遇到直接返回word即可
return word;
}
}
运行结果
🙊写在最后🙊
2022-2-2今天小付打卡了哦~
今天是大年初二,祝大家团圆美满~
美好的日出 美好的山河
都因有你存在 而璀璨 耀眼