class
stringreverse
(object):
# 1.切片操作
defstring_reverse_1
(self, s):
return s[::-1]
# 2.轉換成list,再reverse,之後重組字串
defstring_reverse_2
(self, s):
s_list = list(s)
s_list.reverse()
return
"".join(s_list)
# 3.將字串轉換成列表後,交換前後兩個字串的位置,再重組字串
defstring_reverse_3
(self, s):
s_list = list(s)
index_begin = 0
index_end = len(s_list)-1
while index_begin < index_end:
s_list[index_begin],s_list[index_end] = s_list[index_end],s_list[index_begin]
index_begin += 1
index_end -= 1
return
"".join(s_list)
# 4.利用collections中的雙向列表deque,而且deque是執行緒安全的,可以同時從deque的左右兩端提取元素
defstring_reverse_4
(self, s):
from collections import deque
d = deque()
# 從左邊新增元素
d.extendleft(s)
return
"".join(d)
# 從右邊新增元素
d.extend(s)
right = d.pop()
left = d.popleft()
# 5.利用遞迴
defstring_reverse_5
(self, s):
if len(s) <= 1:
return s
return self.string_reverse_5(s[1:]) + s[0]
# 6.迴圈字串元素
defstring_reverse_6
(self, s):
return
"".join([s[i] for i in range(len(s)-1,-1,-1)])
if __name__ == "__main__":
stringreverse = stringreverse()
s = "abcdefg"
print
"string_reverse_1", stringreverse.string_reverse_1(s)
print
"string_reverse_2", stringreverse.string_reverse_2(s)
print
"string_reverse_3", stringreverse.string_reverse_3(s)
print
"string_reverse_4", stringreverse.string_reverse_4(s)
print
"string_reverse_5", stringreverse.string_reverse_5(s)
print
"string_reverse_6", stringreverse.string_reverse_6(s)
輸出結果為:
string_reverse_1 gfedcba
string_reverse_2 gfedcba
string_reverse_3 gfedcba
string_reverse_4 gfedcba
string_reverse_5 gfedcba
string_reverse_6 gfedcba
反轉字串php原始碼 php反轉字串方法
方法一使用strrev 函式反轉字串。語法strrev string 例子echo strrev hello world 輸出 dlrow olleh 方法二把字串分割到乙個陣列中,然後遍歷拼接,具體如下 function revstr str if strlen str 1 return str ...
python 字串反轉
usr bin env python3 coding utf 8 filename reverse string.py author zoujiameng aliyun.com.cn 題目描述 給定乙個句子 只包含字母和空格 將句子中的單詞位置反轉,單詞用空格分割,單詞之間只有乙個空格,前後沒有空格...
Python 字串反轉
一 字串切片 簡潔 res s 1 二 借助listt的reverse 2.使用list的reverse函式 3.使用join函式將列表中元素組合成乙個字串 l list s res join l.reverse 三 使用reduce函式 result reduce lambda x,y y x,s...