提示:本文主要对python中的 reverse()reversed() 两个内置函数进行讲解,并对LeetCode中相关题目做了题解,欢迎大家批评指正。


一、reverse()函数

  对列表 list 所有元素进行逆序排列。

1.2 语法及使用

  reverse()会改变原始列表。

List = [1, 2, 3, 4, 5]
List.reverse()
List
>>> [5, 4, 3, 2, 1]

二、reversed()函数

  reserved() python 的一个内置函数,作用是:对于给定的序列(如列表、元组、字符串以及 range() 区间)返回一个逆序序列。

2.1 语法及使用

1. 语法格式: reversed(seq) 
2. 其中seq可以是列表,元素,字符串以及range()生成的区间列表 

#将列表进行逆序
List = [1, 2, 3, 4, 5]
print([x for x in reversed(List)])
>>> [5, 4, 3, 2, 1]

三、LeetCode左旋转字符串

剑指 Offer 58 - II. 左旋转字符串

3.1 题目描述

  •  字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。

3.2 输入输出示例

# 示例1:
输入: s = "abcdefg", k = 2
输出: "cdefgab"

# 示例2:
输入: s = "lrloseumgh", k = 6
输出: "umghlrlose"

3.3 题目解析

  • 解题思路:
    1、先反转区间为前n的子串;
    2、再反转区间为n到末尾的子串;
    3、最后反转整个字符串。
class Solution:
    def reverseLeftWords(self, s: str, n: int) -> str:
        s = list(s)
        s[0:n] = list(reversed(s[0:n]))
        s[n:] = list(reversed(s[n:]))
        s.reverse()
        return "".join(s)

总结

  今天的内容就结束了,继续加油呀!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐