字符串逆转函数_INTEL2014笔

墨蓝 2022-08-24 06:29 259阅读 0赞

完成字符串逆转函数的实现

  1. // 递归实现字符串反转
  2. char *reverse(char *str)
  3. {
  4. if( !str )
  5. {
  6. return NULL;
  7. }
  8. int len = strlen(str);
  9. if( len > 1 )
  10. {
  11. char ctemp =str[0];
  12. str[0] = str[len-1];
  13. str[len-1] = ‘/0’;// 最后一个字符在下次递归时不再处理
  14. reverse(str+1); // 递归调用
  15. str[len-1] = ctemp;
  16. }
  17. return str;
  18. }
  19. // 非递归实现字符串反转
  20. char *reverse(char *str)
  21. {
  22. if( !str )
  23. {
  24. return NULL;
  25. }
  26. int len = strlen(str);
  27. char temp;
  28. for( int i = 0; i < len / 2; i++ )
  29. {
  30. // 交换前后两个相应位置的字符
  31. temp = *(str + i);
  32. *(str + i) = *(str + len - 1 - i);
  33. *(str + len - 1 - i) = temp;
  34. }
  35. return str;
  36. }
  37. int _tmain(int argc, _TCHAR* argv[])
  38. {
  39. char src[] = { “abcdef”};
  40. char *pdest = reverse(src);
  41. getchar();
  42. return 0;
  43. }

转自:http://blog.csdn.net/ameyume/article/details/5599139

发表评论

表情:
评论列表 (有 0 条评论,259人围观)

还没有评论,来说两句吧...

相关阅读

    相关 字符串逆转的方法

    字符串逆转,就是将一个字符串头尾倒置,变成一个新的字符串 如:abcdefg -> gfedcba bbcaa -> aacbb 逆转字符串可以在线性时间内完成,所需时间

    相关 字符串匹配 (2014-9)

    问题描述     给出一个字符串和多行文字,在这些文字中找到字符串出现的那 些行。你的程序还需支持大小写敏感选项:当选项打开时,表示同一 个字母的大写和小写看作不同

    相关 2014年HULU试题

    填空题: 1、中序遍历二叉树,结果为ABCDEFGH,后序遍历结果为ABEDCHGF,先序遍历结果为? FCBADEGH 如下图所示: ![23150419-7e8f04