[LeetCode] Reverse String 翻转字符串

简介:

Write a function that takes a string as input and returns the string reversed.

Example:
Given s = "hello", return "olleh".

这道题没什么难度,直接从两头往中间走,同时交换两边的字符即可,参见代码如下:

解法一:

class Solution {
public:
    string reverseString(string s) {
        int left = 0, right = s.size() - 1;
        while (left < right) {
            char t = s[left];
            s[left++] = s[right];
            s[right--] = t;
        }
        return s;
    }
};

我们也可以用swap函数来帮助我们翻转:

解法二:

class Solution {
public:
    string reverseString(string s) {
        int left = 0, right = s.size() - 1;
        while (left < right) {
            swap(s[left++], s[right--]);
        }
        return s;
    }
};

本文转自博客园Grandyang的博客,原文链接:翻转字符串[LeetCode] Reverse String ,如需转载请自行联系原博主。

相关文章
|
7天前
|
算法
力扣每日一题 6/23 字符串/模拟
力扣每日一题 6/23 字符串/模拟
5 1
|
7天前
力扣经典150题第四十题:同构字符串
力扣经典150题第四十题:同构字符串
6 1
|
7天前
|
索引
力扣每日一题 6/27 字符串 贪心
力扣每日一题 6/27 字符串 贪心
5 0
|
7天前
|
Python
力扣随机一题 模拟+字符串
力扣随机一题 模拟+字符串
6 0
|
7天前
力扣每日一题 6/22 字符串/贪心
力扣每日一题 6/22 字符串/贪心
4 0
|
7天前
力扣每日一题 6/18 字符串/模拟
力扣每日一题 6/18 字符串/模拟
6 0
|
7天前
|
算法
力扣每日一题 6/16 字符串 + 随机一题 动态规划/数学
力扣每日一题 6/16 字符串 + 随机一题 动态规划/数学
6 0
|
12天前
|
Java UED
Java中String强转int:一种常见的错误和解决方法
在Java中将非数字字符串转换为整数会导致`NumberFormatException`。要解决这个问题,可以使用`try-catch`捕获异常,正则表达式验证数字格式,或利用异常信息提供错误提示。例如,`Integer.parseInt()`会因遇到非数字字符如`&quot;123abc&quot;`而抛出异常,但通过异常处理或正则`\\d+`可确保安全转换。记得在编程时避免直接强转,以防止程序异常中断。
|
3天前
|
安全 Java
Java基础之StringBuffer
【7月更文挑战第1天】 Java中的`StringBuffer`是线程安全的字符串操作类,适合多线程环境,而`StringBuilder`非线程安全,速度更快,适用于单线程。两者提供`append()`、`insert()`、`delete()`等方法修改字符串,避免了频繁创建新对象的性能问题。在不需要线程安全时,推荐使用`StringBuilder`以提高效率。
9 1