栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Leetcode 学习计划之21天算法 (四)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Leetcode 学习计划之21天算法 (四)

第4天 双指针

344.反转字符串

标准双指针(对撞指针),reverse操作

流氓写法:s[:] = s[::-1]

class Solution(object):
    def reverseString(self, s):
        """
        :type s: List[str]
        :rtype: None Do not return anything, modify s in-place instead.
        """
        left = 0
        right = len(s)-1
        while left<=right:
            s[left],s[right] = s[right],s[left]
            left+=1
            right-=1
class Solution(object):
    def reverseString(self, s):
        """
        :type s: List[str]
        :rtype: None Do not return anything, modify s in-place instead.
        """
        s[:] = s[::-1]
557.反转字符串中的单词Ⅲ

1、新建一个字符串,遍历,遇到空格就把之前的单词逆序存入新字符串。这里可以用栈来实现。遇到空格就出栈,直接实现逆序。

2、不新建数组,原地操作,遇到空格就reverse前面的单词,但是种方法对于string为不可变类型的语言不可以,如:python、Java。

3、利用python的spilt加切片逆序加字符串join操作合并实现。

用空格拼接器字符串str = ' '.join(list)      直接拼接起字符串,没有分隔符str = ''.join(list)

spilt('  ')操作返回的就是分割后的字符串列表

class Solution(object):
    def reverseWords(self, s):
        """
        :type s: str
        :rtype: str
        """
        return " ".join(word[::-1] for word in s.split(" "))
class Solution(object):
    def reverseWords(self, s):
        """
        :type s: str
        :rtype: str
        """
        return (' '.join(s.split(' ')[::-1]))[::-1]
class Solution(object):
    def reverseWords(self, s):
        """
        :type s: str
        :rtype: str
        """
        return ' '.join(s[::-1].split(' ')[::-1])
class Solution(object):
    def reverseWords(self, s):
        """
        :type s: str
        :rtype: str
        """
        i = j = x = 0
        l = len(s)
        ans = [0]*l

        def swap(nums):
            l =0
            r=len(nums)-1
            while l 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/759124.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号