采用递归,非递归的方式翻转字符串和单链表
char *reverse(char *str)//采用非递归方式(字符串) { if(str!=NULL) { int length=strlen(str); int i; char temp; for(i=0;i<length/2;++i) { temp=str[i]; str[i]=str[length-1]; str[length-1]=temp; } } return str; }
char *reverse(char *str)//递归方法反转字符串 { static int len = strlen(str); char ctemp; if( len > 1 ) { ctemp = str[len-1]; str[len-1] = str[0]; str[0] = ctemp; len -= 2;//递归一次后长度减少2 reverse( ++str ); } return ( str - 1 ); }
浙公网安备 33010602011771号