You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对长度≥3的字符串按指定规则转换生成新字符串并输出

字符串转换需求实现方案

解决思路

  1. 先确定原字符串长度n,题目已保证n≥3,无需额外校验长度合法性
  2. 计算中间位置索引:不管n是奇数还是偶数,直接用n // 2即可满足规则要求:
    • n为奇数时,刚好是长度除以2向下取整的索引
    • n为偶数时,刚好是长度除以2的索引
  3. 明确替换规则:新字符串和原字符串长度完全一致,仅三个位置需要修改,其余位置和原串保持一致:
    • 新串首字符(索引0)替换为原串中间位置的字符
    • 新串中间位置的字符替换为原串的最后一个字符
    • 新串末尾字符(索引-1)替换为原串的首字符
  4. 最后按要求格式输出结果即可

代码实现(Python版本)

def transform_string(s):
    n = len(s)
    mid_idx = n // 2
    # 字符串为不可变类型,转为列表方便修改
    s_list = list(s)
    # 提前暂存待替换的原字符,避免覆盖丢失
    original_mid = s_list[mid_idx]
    original_last = s_list[-1]
    original_first = s_list[0]
    # 对应位置赋值
    s_list[0] = original_mid
    s_list[mid_idx] = original_last
    s_list[-1] = original_first
    # 转回字符串返回
    return ''.join(s_list)

# 测试用例
if __name__ == "__main__":
    # 奇数长度测试
    odd_test = "afffbeeec"
    odd_res = transform_string(odd_test)
    print(f"The rotated string is {odd_res}")
    # 偶数长度测试
    even_test = "axxxbyyc"
    even_res = transform_string(even_test)
    print(f"The rotated string is {even_res}")

运行输出

The rotated string is bfffceeea
The rotated string is bxxxcyya

与题目给出的示例结果完全匹配。

内容的提问来源于stack exchange,提问作者Yoni Agronov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 18:36:07