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

Reverse Words In a String代码遍历超长字符串时越界排查求助

排查Reverse Words In a String数组越界问题
  • 首尾空格处理的边界遗漏
    若代码中处理首尾空格时,写了类似while (s[i] == ' ') i++或while (s[j] == ' ') j--的逻辑,却没加i < s.length或j >= 0的判断,当输入是全空格的超长字符串时,i会持续递增到超出数组长度,j会持续递减到负数,触发越界。本地测试可能没覆盖这类极端用例,而平台测试包含了该场景。

  • 单词分割时的索引判断缺失
    寻找单词结束位置时,若循环条件只判断s[j] != ' '而没加j < s.length,当字符串末尾无空格时,j会一直递增到等于数组长度,后续访问s[j]就会越界。本地的超长输入可能末尾带空格,刚好避开了这个问题,但平台的测试用例末尾无空格,直接触发异常。

  • 结果数组的索引计算错误
    若用字符数组构建反转后的字符串,结果数组的长度计算失误,或者复制单词时索引累加未做边界检查,会导致写入时超出数组范围。本地环境内存分配可能更宽松,未触发越界,但平台的严格内存检查暴露了问题。

  • 空/单字符输入的处理漏洞
    当输入是空字符串或仅含单个非空格字符时,某些分支的索引操作可能未做边界判断,比如处理完s[0]后直接i++,此时i会超出数组长度(空串长度0,单字符长度1),触发越界。本地测试可能没覆盖这类极小输入,但平台的测试用例包含了该情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 13:55:02