前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天一算:Reverse String

每天一算:Reverse String

作者头像
五分钟学算法
发布2018-11-20 15:43:41
3810
发布2018-11-20 15:43:41
举报
文章被收录于专栏:五分钟学算法

LeetCode上第344号问题:Reverse String

题目

编写一个函数,其作用是将输入的字符串反转过来。 示例 1: 输入: "hello" 输出: "olleh" 示例 2: 输入: "A man, a plan, a canal: Panama" 输出: "amanaP :lanac a ,nalp a ,nam A"

解题思路

直接从两头往中间走,同时交换两边的字符即可

动画演示

动画演示

参考代码

代码一
代码语言:javascript
复制
 1// 344. Reverse String
 2// https://leetcode.com/problems/reverse-string/description/
 3// Two Pointers
 4// 时间复杂度: O(n)
 5// 空间复杂度: O(1)
 6class Solution {
 7public:
 8    string reverseString(string s) {
 9
10        int i = 0, j = s.size() - 1;
11        while(i < j){
12            swap(s[i], s[j]);
13            i ++;
14            j --;
15        }
16
17        return s;
18    }
19};
代码二
代码语言:javascript
复制
 1// 344. Reverse String
 2// https://leetcode.com/problems/reverse-string/description/
 3// Two Pointers
 4// 时间复杂度: O(n)
 5// 空间复杂度: O(1)
 6class Solution {
 7public:
 8    string reverseString(string s) {
 9         int left = 0, right = s.size() - 1;
10        while (left < right) {
11           char t = s[left];
12            s[left++] = s[right];
13           s[right--] = t;
14        }
15       return s;
16   }
17};

执行结果

执行结果

我们会在每天早上8点30分准时推送一条LeetCode上的算法题目,并给出改题目的动画解析以及参考答案,每篇文章阅读时长为五分钟左右。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 五分钟学算法 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目
  • 解题思路
  • 动画演示
  • 参考代码
    • 代码一
      • 代码二
      • 执行结果
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档