您的位置:首页 > 其它

每日一道算法题:字符串反转

2014-11-22 01:22 302 查看
题目:实现字符串反转,要求不使用任何系统函数,且时间复杂度最小,函数原型:char* reverse_str(char* str)

解题思路:想到的思路是在字符串开始和结尾部分分别定义一个指针,比如说p和q,p向后遍历,q向前遍历,每当p和q各自指向一个字符时,交换,再继续遍历,知道p>q为止。代码如下:
char* reverse_str(char str[]){
int start = 0;
int end = 0;
while (*(str+end) != '\0'){
end++;
}
char temp = '\0';
while(start < end){
temp = str[start];
str[start] = str[end];
str[end] = temp;
start ++;
end --;
}
return str;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: