上次面试碰到一个单向链表逆序的题目,幸好对字符串逆序比较熟悉,类比做出来了。字符串逆序比较简单,直接上代码:
void stringReverse(char* p1,char* p2)
{
if(p1==p2)return;
//swap the value of p1 ,p2
*p1=(*p1)+(*p2);
*p2=(*p1)-(*p2);
*p1=(*p1)-(*p2);
if(p1==p2-1)return;
else stringReverse(++p1,--p2);
}
调用示例:
stringReverse(str,str+strlen(str)-1);