跳至正文

每日一题——2000. 反转单词前缀

2000. 反转单词前缀

给你一个下标从 0 开始的字符串 word 和一个字符 ch 。找出 ch 第一次出现的下标 i ,反转 word 中从下标 0 开始、直到下标 i 结束(含下标 i )的那段字符。如果 word 中不存在字符 ch ,则无需进行任何操作。

例如,如果 word = “abcdefd” 且 ch = “d” ,那么你应该 反转 从下标 0 开始、直到下标 3 结束(含下标 3 )。结果字符串将会是 “dcbaefd” 。
返回 结果字符串 。


这题没啥难度 倒不如说比昨天那题简单多了

找到索引后可以双指针 也可以暴力 都行

我是直接写个简单的双指针了

用stringbulider的话 空间消耗可能会大一点 不过时间挺快的

public class Solution {
    public string ReversePrefix(string word, char ch) {
        int index = word.IndexOf(ch);
        StringBuilder str = new StringBuilder(word);

        int left = 0;
        int right = index;
        while(left < right)
        {
            char temp = str[right];
            str[right] = str[left];
            str[left] = temp;
            left++;
            right--; 
        }

        return str.ToString();
    }
}

 

《每日一题——2000. 反转单词前缀》有1个想法

发表评论

您的电子邮箱地址不会被公开。