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

Dart字符串反转方法:高效的Dart字符串反转技术

Dart字符串反转的几种实现方法

方法1:拆分-反转-拼接

将输入字符串拆分为单个字符数组,反转数组中字符的顺序后重新拼接成字符串。

// 函数:firstReverse
// 输入:str(字符串类型)
// 输出:输入字符串的反转版本
// 说明:接收一个字符串,返回其反转后的结果
String firstReverse(String str) {
  // 将字符串拆分为字符数组,反转数组后重新拼接
  return str.split('').reversed.join('');
}

方法2:倒序遍历拼接

通过倒序遍历输入字符串的字符,将每个字符逐个追加到新字符串中,最终返回反转后的字符串。

String firstReverse(String str) {
  // 初始化空字符串存储反转结果
  String revString = '';
  
  // 从最后一个字符(索引:str.length - 1)倒序遍历到第一个字符(索引:0)
  for (int index = str.length - 1; index >= 0; index--) {
    // 将每个字符追加到revString中
    revString += str[index];
  }
  
  // 返回反转后的字符串
  return revString;
}

方法3:借助StringBuffer高效构建

利用Dart的StringBuffer类,通过倒序追加字符来高效构建反转字符串,兼具简洁性与执行效率。

String firstReverse(String str) {
  StringBuffer reverseString = StringBuffer();

  for (int index = str.length-1; index >= 0; index--) {
    reverseString.write(str[index]);
  }

  return reverseString.toString();
}

方法4:通过CodeUnit码点反转

使用codeUnitAt将输入字符串的每个字符转换为Unicode码点并存入列表,原地反转列表后,再通过String.fromCharCode将码点转换回字符,得到反转字符串。

String firstReverse(String str) {
  var stringToNumList = [];
  String reverseStr = '';

  for (var i = 0; i < str.length; i++) {
    stringToNumList.add(str[i].codeUnitAt(0));
  }

  int start = 0, last = stringToNumList.length - 1;

  while (start < last) {
    var temp = stringToNumList[start];
    stringToNumList[start] = stringToNumList[last];
    stringToNumList[last] = temp;
    start++;
    last--;
  }

  for (var i = 0; i < stringToNumList.length; i++) {
    reverseStr += String.fromCharCode(stringToNumList[i]);
  }

  return reverseStr;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 17:55:14