资讯专栏INFORMATION COLUMN

LeetCode: 344. Reverse String

h9911 / 3369人阅读

摘要:题目大意就是给一个字符串,得到倒序字符串空字符串或者字符串长度为解法一申请额外空间,指向原字符串串尾,倒序构建新字符串时间复杂度,空间复杂度超时解法二双指向头尾,直接交换字符。不需要额外空间,只用循环次

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

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

题目大意就是给一个字符串,得到倒序字符串

corner case:空字符串或者字符串长度为0

解法一:

申请额外空间,index指向原字符串串尾,倒序构建新字符串

public class Solution 
{
    public String reverseString(String s) 
    {
        if (s == null || s.length() == 0)
        {
            return s;
        }
        
        String res = "";
        int index = s.length() - 1;
        
        for (; index >= 0; index--)
        {
            res += s.charAt(index);
        }
        
        return res;
    }
}

时间复杂度:n, 空间复杂度: n
超时

解法二:

双pointer指向头尾,直接交换字符。不需要额外空间,只用循环n/2次

public class Solution 
{
    public String reverseString(String s) 
    {
        if (s == null || s.length() == 0)
        {
            return s;
        }
        
        int left = 0;
        int right = s.length() - 1;
        char[] sChar = s.toCharArray();
        
        while (left < right)
        {
            char temp = sChar[left];
            sChar[left] = sChar[right];
            sChar[right] = temp;
            
            left++;
            right--;
        }
        
        return new String(sChar);
    }
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/65016.html

相关文章

  • Leetcode PHP题解--D21 344. Reverse String

    摘要:题目链接题目分析题目要求以时间复杂度把字符串倒转过来。思路题目提示说用原地算法我并不会,只能用函数先应付了。最终代码若觉得本文章对你有用,欢迎用爱发电资助。 344. Reverse String 题目链接 344. Reverse String 题目分析 题目要求以O(1)时间复杂度把字符串倒转过来。 思路 题目提示说用原地算法……Emmm...我并不会,只能用strrev函数先应付...

    yuxue 评论0 收藏0
  • Leetcode 344Reverse String 反转字符串(python、java)

    摘要:反转字符串公众号爱写编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组的形式给出。解题思路第一个字符与最后一个交换位置,继而第二个与倒数第二个交换位置,一直交换到到中位数结束。持续交换它们所指向的元素,直到这两个指针相遇。 Leetcode 344:Reverse String 反转字符串 公众号:爱写bugWrite a function that reverses ...

    Ajian 评论0 收藏0
  • Leetcode 344Reverse String 反转字符串(python、java)

    摘要:反转字符串公众号爱写编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组的形式给出。解题思路第一个字符与最后一个交换位置,继而第二个与倒数第二个交换位置,一直交换到到中位数结束。持续交换它们所指向的元素,直到这两个指针相遇。 Leetcode 344:Reverse String 反转字符串 公众号:爱写bugWrite a function that reverses ...

    duan199226 评论0 收藏0
  • LeetCode 344. Reverse String

    摘要:描述编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组使用的额外空间解决这一问题。你可以假设数组中的所有字符都是码表中的可打印字符。 Description Write a function that reverses a string. The input string is given as an a...

    yedf 评论0 收藏0
  • LeetCode 之 JavaScript 解答第344题 —— 反转字符串(Reverse Str

    摘要:小鹿题目反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组的形式给出。如果为奇数,当两个指针相等时,反转完毕。测试用例空字符串。奇数个数的字符串。长度为的字符串。考查内容对字符串的基本操作。 Time:2019/4/18Title: Reverse StringDifficulty: EasyAuthor: 小鹿 题目:Reverse String(反转字...

    bbbbbb 评论0 收藏0

发表评论

0条评论

h9911

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<