信息技术来源:浙江省选考科目考试绍兴市适应性试卷(2026年4月)
第 10 题
答案与解析
本题解析
参考答案
B
解题思路
函数在字符串长度不超过 1 时直接返回,否则调用 dedup(s[1:]),每次去掉首字符,使字符串长度减少 1,最终到达递归出口。两个分支的区别是是否将当前首字符拼接到递归结果前。
程序分析
if s[0] in s[1:]:
return dedup(s[1:])
else:
return s[0] + dedup(s[1:])s[1:] 是首字符之后的全部字符。若首字符还在后面出现,本次不保留它,只返回后缀的处理结果;若后面不再出现,则保留首字符并接上后缀的处理结果。因此,同一字符只保留最后一次出现的位置,各保留字符的相对顺序不变。
在 keeper 中,k、p、r 各出现一次,均被保留;三个 e 只保留最后一次出现的那个。按这些字符在原串中的顺序拼接,得到 kper。
问题反馈
解析有疑问或显示异常?请先复制题目信息,再打开反馈表单填写。
题目编号:2026_04_G3_shaoxingzhenduan_q010
