- 1、题目描述:
-3、 设计思想:
详细操作流程看下图:
-4、视频讲解链接B站视频讲解
-5、代码:
c++版本:
class Solution { public: /** * 反转字符串 * @param str string字符串 * @return string字符串 */ string solve(string str) { // write code here int len = str.size(); //求出字符的长度 for(int i = 0;i < len/2;i ++){//然后从中间切开,第一个和最后一个交换 swap(str[i],str[len - 1 - i]); } return str; } };
Java版本:
import java.util.*; public class Solution { /** * 反转字符串 * @param str string字符串 * @return string字符串 */ public String solve (String str) { // write code here char[] str1 = str.toCharArray(); //先转化为字符串数组 int len = str.length();//求字符串的长度 for(int i = 0;i < len/2;i ++){//然后从中间切开,第一个和最后一个交换 char tmp = str1[i]; str1[i] = str1[len - 1 - i]; str1[len-1-i] = tmp; } return new String(str1);返回一个新的字符串 } }
Python版本:
# # 反转字符串 # @param str string字符串 # @return string字符串 # class Solution: def solve(self , str ): l,r = 0,len(str) - 1# 定义一个双指针 s = list(str) #将str变为list,然后可以进行字符的交换 while l < r:#进行字符串的翻转 c = s[l] s[l] = s[r] s[r] = c l += 1 r -= 1 return ''.join(s)
JS版本:
/** * 反转字符串 * @param str string字符串 * @return string字符串 */ function solve( str ) { // write code here const str1 = str.split(''); let l = 0,r = str.length-1;//双指针 while(l < r){ //字符交换 let temp = str1[l]; str1[l] = str1[r]; str1[r] = temp; //交换完一次就进行指针移动 l ++; r --; } return str1.join(''); } module.exports = { solve : solve };