题目来源于牛客网
要求:
写出一个程序,接受一个字符串,然后输出该字符串反转后的字符串。(字符串长度不超过1000)
示例:
输入:
"abcd"
返回值:
"dcba"
使用python进行解题
解法一:
创建一个新的空字符串,将原字符串反向切片后存储入新的字符串中。
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 反转字符串
# @param str string字符串
# @return string字符串
#
class Solution:
def solve(self , str: str) -> str:
# write code here
new_str = ""
for i in range(len(str)-1,-1,-1):
new_str += str[i]
return new_str
解法二:
交换法。将原字符串的首尾位置互换,然后互换第二位和倒数第二位,依次交换。这样设计的算法时间复杂度是解法一的一半。但是在python中,字符串是不可变对象,不能通过下标的方式直接赋值修改。
因此该解法在python中难以实现。读者可尝试使用其他编程语言进行解答。
解法三:
内置方法。使用python的切片方法。
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 反转字符串
# @param str string字符串
# @return string字符串
#
class Solution:
def solve(self , str: str) -> str:
# write code here
return str[::-1]