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

如何用Python实现字符串首尾交替取元素且不额外创建列表

字符串重排实现方案

原草稿伪代码问题

  • 右指针初始值错误:原代码j初始为1,实际应初始为len(str1)-1指向字符串最后一位
  • 循环条件逻辑错误:原条件完全不成立,正确循环边界为左指针小于右指针
  • 拼接逻辑错误:原代码直接覆盖结果变量,需要做累加拼接

核心实现思路

用双指针分别从字符串首尾向中间遍历,每次依次拼接左指针、右指针指向的字符,遍历结束后如果字符串长度为奇数,单独补充拼接中间的剩余字符。全程仅使用字符串累加,不创建额外列表,符合要求。

可运行Python代码

def rearrange_str(s):
    left = 0
    right = len(s) - 1
    res = ""
    while left < right:
        res += s[left]
        res += s[right]
        left += 1
        right -= 1
    # 处理奇数长度的中间剩余字符
    if left == right:
        res += s[left]
    return res

测试验证

  • 输入abcdef,输出afbecd,符合预期
  • 输入abcde,输出aebdc,符合预期

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:18:01