- 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
};
京公网安备 11010502036488号