深耕专业教研,探索前沿技术
信息技术来源:2026年4月稽阳联谊学校高三联考

第 10 题

答案与解析

本题解析

参考答案

A

程序分析

ans=""; n=len(s)
for i in range(n//2,0,-1):
    if s[i] > s[n-i]:
        ans = ans + s[i]
    else:
        ans = s[n-i] + ans

ans初值为空字符串,n为输入字符串的长度。i从n//2递减到1,每轮比较s[i]与s[n-i]:若s[i]较大,将它拼接到ans右端;否则将s[n-i]拼接到ans左端。这样,每轮保留两个字符中较大的一个,并按所在分支决定拼接方向。

输入字符串长度为9,i依次取4、3、2、1。配对下标为i和n-i,字符及下标对应如下:

下标 0 1 2 3 4 5 6 7 8
字符 z j g k i n f o a
i s[i]与s[n-i] 拼接操作 更新后的ans
4 i < n n接到左端 n
3 k > f k接到右端 nk
2 g < o o接到左端 onk
1 j > a j接到右端 onkj