🙊本文目录👍
🙊写在前面🙊
按照这两天的题型来看,看来本月月初这几天可能会一直是字符串的相关考察了,昨天的字符串的递归求解或是暴力求解,今天也是对字符串的反转以及简单实用求解,看来注定是难忘的一个月份呀,加油加油~休息了两天干劲十足了!!!
题目
示例
示例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今天小付打卡了哦~
今天是大年初二,祝大家团圆美满~
美好的日出 美好的山河
都因有你存在 而璀璨 耀眼