翻轉單詞順序 python

2021-10-02 07:16:20 字數 1409 閱讀 5987

#1.①翻轉單詞中的所有字元 ②翻轉單詞中字元順序

defreverse

(s, start, end)

:while start < end:

s[start]

, s[end]

= s[end]

, s[start]

start +=

1 end -=

1def

reversesentence

(s):

ifnot s:

return s

s =list

(s) reverse(s,0,

len(s)-1

) start, end =0,

0while start <

len(s)

:if s[start]

==''

: start +=

1 end +=

1elif end ==

len(s)

or s[end]

==' '

: reverse(s, start, end -1)

end +=

1 start = end

else

: end +=

1return

"".join(s)

print

(reversesentence(

"i am a student"))

2.字串旋轉操作

#左旋轉操作是把前面若干個字串轉移到字串尾部

#以"abcdefg"為例,可以將其分為兩部分,因為想把前兩個字元翻轉到後面,可以把前兩個字元分為一部分,後面所有的分為一部分。

# 先分別翻轉這兩部分得到bagfedc,接著在翻轉整個字串得到cdefgab,剛好就是把原始字串左旋轉兩位的結果

defleftrotatestring

(s, k)

:if s is

notnone

: s =

list

(s)if

len(s)

>

0and k >

0and k <

len(s)

: reverse(s,

0, k -1)

reverse(s, k,

len(s)-1

) reverse(s,0,

len(s)-1

)return

"".join(s)

print

(leftrotatestring(

"abcdefg",2

))

翻轉單詞順序

1.問題描述 輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字幕一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 來自 劍指offer 2.分析 我們可以第一步翻轉句子中所有的字元。比如反轉 i am a stud...

翻轉單詞順序

首先將i am boy轉為yob ma i,str 0 與str len 1 交換順序,空間複雜度為o 1 然後yob ma i中每個單詞應用同樣的方法翻轉。function reverse str return strarr.join function reverseword str return...

翻轉單詞順序

輸入乙個英文句子,翻轉句子中單詞的順序,但單詞內字元的順序不變。為簡單起見,標點符號和普通字母一樣處理。例如輸入字串 i am a student.則輸出 student.a am i 示例 1 輸入 the sky is blue 輸出 blue is sky the 示例 2 輸入 hello ...