题目

类型:双指针
image.png

解题思路

先从前往后遍历,找到第一个 ch 的下标 idx(初始值为 -1),然后对 [0, idx] 应用双指针进行翻转(若没有 ch 字符,则 idx = -1,则 [0, idx] 为不合法区间,翻转过程被跳过)。

代码

  1. class Solution {
  2. public String reversePrefix(String word, char ch) {
  3. int index = word.indexOf(ch);
  4. if (index >= 0) {
  5. char[] arr = word.toCharArray();
  6. int left = 0, right = index;
  7. while (left < right) {
  8. char temp = arr[left];
  9. arr[left] = arr[right];
  10. arr[right] = temp;
  11. left++;
  12. right--;
  13. }
  14. word = new String(arr);
  15. }
  16. return word;
  17. }
  18. }