欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

剑指offer-python:59.翻转字符串

时间:2023-04-28

题目:

Input: "the sky is blue",Output: "blue is sky the".

几种方式:python的reversed方法;或者实现reversed;再或者实现上述方法涉及的split方法。

代码:三种方式

class Solution: def func0(self , s): return ' '.join(reversed(s.split(' '))) def func1(self , s): # 实现reversed new_s = '' s_list = s.split(' ') while s_list: new_s += '{} '.format(s_list.pop(-1)) return new_s def func2(self , s): # 实现split new_s = '' lo = hi = len(s) - 1 for i in range(len(s)-1 , -1 , -1): lo -= 1 if s[i] == ' ': new_s += '{} '.format(s[lo+2:hi+1]) hi = i-1 if lo != hi: new_s += '{} '.format(s[lo + 1:hi + 1]) return new_sa = "the sky is blue"s = Solution()print(s.func0(a))print(s.func1(a))print(s.func2(a))

输出:

blue is sky theblue is sky the blue is sky the

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。