C/C++教程

leetcode 2000. 反转单词前缀(2022.2.2)

本文主要是介绍leetcode 2000. 反转单词前缀(2022.2.2),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

【题目】2000. 反转单词前缀

给你一个下标从 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 是一个小写英文字母

【解题思路1】

class Solution {
    public String reversePrefix(String word, char ch) {
        char[] c = word.toCharArray();
        StringBuilder sb = new StringBuilder();
        Boolean flag = true;
        for (int i = 0; i < c.length; i++) {
            sb.append(c[i]);
            if (c[i] == ch && flag) {
                sb.reverse();
                flag = false;
            }
        }
        return sb.toString();
    }
}
这篇关于leetcode 2000. 反转单词前缀(2022.2.2)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!