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

如何按成对字符反转字符串?含奇数长度处理需求

成对反转字符串的实现方法

核心逻辑

将字符串按每两个字符为一组,交换每组内两个字符的位置;若字符串长度为奇数,最后一个单独的字符直接保留原位置。

JavaScript 实现方案

循环遍历写法

function reversePairs(str) {
  let result = '';
  // 每次步进2,处理一对字符
  for (let i = 0; i < str.length; i += 2) {
    // 存在第二个字符时,交换后拼接
    if (i + 1 < str.length) {
      result += str[i + 1] + str[i];
    } else {
      // 奇数长度时,直接追加最后一个字符
      result += str[i];
    }
  }
  return result;
}

// 测试用例
console.log(reversePairs('abcdef')); // 输出 'badcfe'
console.log(reversePairs('abcde'));  // 输出 'badce'

正则表达式简洁写法

利用正则匹配每两个字符的分组,替换时交换组内字符顺序:

function reversePairsWithRegex(str) {
  return str.replace(/(.)(.)?/g, (_, first, second) => second ? second + first : first);
}

// 测试用例
console.log(reversePairsWithRegex('abcdef')); // 'badcfe'
console.log(reversePairsWithRegex('abcde'));  // 'badce'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 00:40:41