遞迴倒置字元陣列

2022-03-19 10:07:22 字數 977 閱讀 5613

描述:

樣例輸入: 

5 abcde

樣例輸出:

ebcda

edcba

edcba

分析:

重點是找規律,我們以 9 abcdefghi為例:length=9

i的序號 交換的序號 交換後i的值

i=9 0<--->8 i=7

i=7 1<--->7 i=5

i=5 2<--->6 i=3

i=3 3<--->5 i=1

i=1 判斷返回

由此可見,我們要交換的陣列序號的普遍計算方法:

(length-i)/2 <----> length-1-(length-i)/2

不要問我怎麼來的,根據上表找到的規律

**:

def trans(st,i=none,):   

if i==none:

i=len(st)

if i==1 or i==0:#考慮到奇數個或者偶數個

print()

for echo in st:

print(echo,end='')

return

length=len(st) #雖然st長度不變,但下次遞迴沒傳此引數

st[length-1-int((length-i)/2)],st[int((length-i)/2)]=st[int((length-i)/2)],st[length-1-int((length-i)/2)]

for echo in st:

print(echo,end='')

print()

trans(st,i-2)

command=input().split()

trans(list(command[1]))

C語言 遞迴倒置字元陣列

演算法提高 遞迴倒置字元陣列 時間限制 1.0s 記憶體限制 512.0mb 問題描述 完成乙個遞迴程式,倒置字元陣列。並列印實現過程 遞迴邏輯為 當字元長度等於1時,直接返回 否則,調換首尾兩個字元,在遞迴地倒置字元陣列的剩下部分 輸入格式 字元陣列長度及該陣列 輸出格式 在求解過程中,列印字元陣...

演算法提高 遞迴倒置字元陣列

問題描述 完成乙個遞迴程式,倒置字元陣列。並列印實現過程 遞迴邏輯為 當字元長度等於1時,直接返回 否則,調換首尾兩個字元,在遞迴地倒置字元陣列的剩下部分 輸入格式 字元陣列長度及該陣列 輸出格式 在求解過程中,列印字元陣列的變化情況。最後空一行,在程式結尾處列印倒置後該陣列的各個元素。樣例輸入 s...

xuptoj 1673 遞迴倒置字元陣列

演算法提高 遞迴倒置字元陣列 時間限制 1.0s 記憶體限制 512.0mb 問題描述 完成乙個遞迴程式,倒置字元陣列。並列印實現過程 遞迴邏輯為 當字元長度等於1時,直接返回 否則,調換首尾兩個字元,在遞迴地倒置字元陣列的剩下部分 輸入格式 字元陣列長度及該陣列 輸出格式 在求解過程中,列印字元陣...