📜  TCS 编码练习题 |反转字符串(1)

📅  最后修改于: 2023-12-03 14:47:53.036000             🧑  作者: Mango

TCS 编码练习题 |反转字符串

这是一道 TCS 编码练习题,要求实现一个函数来反转字符串,具体要求如下:

要求
  • 实现一个函数,接收一个字符串作为参数,在不使用现成的反转函数的情况下,返回反转后的字符串。
  • 字符串长度可能为 0 或者 1。
  • 不使用现成的反转函数,必须手写实现反转方法。
解法
1. 使用双指针法

双指针法是最常用的字符串反转方法之一,指针分别从字符串首、尾开始向中间移动,交换对应位置的字符。

public static String reverseString(String str) {
    if (str == null || str.length() < 2) {
        return str;
    }
    char[] chars = str.toCharArray();
    int left = 0, right = chars.length - 1;
    while (left < right) {
        char temp = chars[left];
        chars[left] = chars[right];
        chars[right] = temp;
        left++;
        right--;
    }
    return new String(chars);
}
2. 使用 StringBuilder 类的 reverse 方法

StringBuilder 是一个可变的字符串类,它提供了 reverse 方法来实现字符串反转功能。

public static String reverseString(String str) {
    if (str == null || str.isEmpty()) {
        return str;
    }
    return new StringBuilder(str).reverse().toString();
}
总结

本文介绍了两种常用的反转字符串方法——双指针法和使用 StringBuilder 类的 reverse 方法。这里的代码示例均为 Java 语言,但是这两种方法在其它编程语言中也同样适用。对于这种简单的编程题目,我们需要尽可能多地应用不同的解法,并比较其性能和效果,以便选择最佳的方案。