标签:
题目分析:
对于给定的字符串,执行逆转操作。
解题思路:
先统计字符串的长度,然后遍历字符串,将字符串的前后元素一一对调即可实现。
实现程序
C++版本
class Solution {
public:
// 字符交换操作
void my_swap(char *s, char *t)
{
char temp = *s;
*s = *t;
*t = temp;
}
// 字符串逆转操作
string reverseString(string s) {
int length = s.size();
int i = 0;
int j = length - 1;
// 遍历执行逆转
while (i < j)
{
my_swap(&s[i], &s[j]);
i++;
j--;
}
return s;
}
};
C版本
// 字符交换操作
void swap(char *s, char *t)
{
char temp = *s;
*s = *t;
*t = temp;
}
// 统计字符串长度
int length(char *s)
{
int len = 0;
while (s[len] != ‘\0‘)
len++;
return len;
}
// 字符串逆转操作
char *reverseString(char *s)
{
int len = length(s);
int i = 0;
int j = len - 1;
while (i < j)
{
swap(&s[i], &s[j]);
i++;
j--;
}
return s;
}
Java版本
public class Solution {
public String reverseString(String s) {
// 先将字符串转换为字符数组
char[] array = s.toCharArray();
int i = 0;
int j = s.length() - 1 ;
char temp;
// 逆转字符数组
while (i < j){
temp = array[i];
array[i] = array[j];
array[j] = temp;
i++;
j--;
}
// 利用逆转的字符数组构造最终的逆转字符串
return new String(array);
}
}
标签:
原文地址:http://blog.csdn.net/yzhang6_10/article/details/51347015