python反转字符串单词有什么方法?教你两种思路
发布时间:2022-03-29 13:57:39 所属栏目:语言 来源:互联网
导读:文本给大家分享的关于python实现反转字符串的技巧,这次我们要实现的效果是,将给定的一个字符串中的每个单词,做逐个翻转。那么具体怎么实现呢?下面我们一起来看看。注意文本示例在是python3实现。 说明: 无空格字符构成一个 单词 。 输入字符串可以在前
文本给大家分享的关于python实现反转字符串的技巧,这次我们要实现的效果是,将给定的一个字符串中的每个单词,做逐个翻转。那么具体怎么实现呢?下面我们一起来看看。注意文本示例在是python3实现。 说明: 无空格字符构成一个 单词 。 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。 示例 1: 输入:“the sky is blue” 输出:“blue is sky the” 示例 2: 输入:" hello world! " 输出:“world! hello” 解释:输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括。 示例 3: 输入:“a good example” 输出:“example good a” 解释:如果两个单词间有多余的空格,将反转后单词间的空格减少到只含一个。 示例 4: 输入:s = " Bob Loves Alice " 输出:“Alice Loves Bob” 示例 5: 输入:s = “Alice does not even like bob” 输出:“bob like even not does Alice” 思路1: 传统思路:先使用strip()函数将首尾空格去掉;特别注意,中间的空格可能不止一个。采用双指针,从后遍历字符串,遇到的第一个空格,回退一个到j的位置就会取出一个字符串。 class Solution: def reverseWords(self, s: str) -> str: s = s.strip() i = len(s)-1 j = i+1 resverse = [] while i>=0: while i >= 0 and s[i] != ' ': i -= 1 resverse.append(s[i + 1: j]) while s[i] == ' ': i -= 1 j = i+1 return ' '.join(resverse).strip() 思路2: class Solution: def reverseWords(self, s: str) -> str: s = s.strip() s = s.split() s.reverse() return ' '.join(s) (编辑:济源站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |