字符串逆转函数_INTEL2014笔

本文详细介绍了使用递归和非递归两种方式实现字符串反转的算法,包括具体步骤和代码实现,并通过示例展示了两种方法的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

完成字符串逆转函数的实现
  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. forint 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;

转自:http://blog.youkuaiyun.com/ameyume/article/details/5599139

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值