LeetCode:917.仅仅反转字母
题目: 给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。 示例 1 : 输入: "ab-cd" 输出: "dc-ba" 示例 2 : 输入: "a-bC-dEf-ghIj" 输出: "j-Ih-gfE-dCba" 示例 3 : 输入: "Test1ng-Leet=code-Q!" 输出: "Qedo1ct-eeLg=ntse-T!" 源码: class Solution { public String reverseOnlyLetters ( String S ) { // 双指针法 int left = 0 ; int right = S . length ( ) - 1 ; char [ ] chars = S . toCharArray ( ) ; // count 记录字符串中有多少个字母 int count = 0 ; for ( int i = 0 ; i < chars . length ; i ++ ) { if ( ! isCharacter ( chars , i ) ) { count ++ ; } } // 能够反转的字母组数 count = count / 2 ; // 记录已经反转的组数 if ( count == 0 ) { return new String ( chars ) ; } int