文字列関連の質問から始めます
1つは、文字列を逆にします
入力文字列を逆にする役割を持つ関数を記述します。入力文字列は、文字配列char []の形式で指定されます。
別の配列に余分なスペースを割り当てないでください。この問題を解決するには、入力配列をその場で変更し、O(1)の余分なスペースを使用する必要があります。
配列内のすべての文字は、ASCIIコードテーブル内の印刷可能な文字であると想定できます。
方法1:私の
class Solution {
public void reverseString(char[] s) {
int length=s.length;
for(int i=0;i<length/2;i++){
char temp=s[i];
s[i]=s[length-i-1];
s[length-i-1]=temp;
}
}
}
方法2:公式のデュアルポインター
class Solution {
public void reverseString(char[] s) {
int n = s.length;
for (int left = 0, right = n - 1; left < right; ++left, --right) {
char tmp = s[left];
s[left] = s[right];
s[right] = tmp;
}
}
}
作者:LeetCode-Solution
链接:https://leetcode-cn.com/problems/reverse-string/solution/fan-zhuan-zi-fu-chuan-by-leetcode-solution/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。