免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: JCheung
打印 上一主题 下一主题

[C] 请教一个面试题 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-08-17 22:10 |只看该作者
本帖最后由 JCheung 于 2010-08-17 22:24 编辑

回复 10# rain_fish


    那俺跟你不是一个级别
    俺是一看算法就空白

论坛徽章:
0
12 [报告]
发表于 2010-08-17 23:15 |只看该作者
本帖最后由 JCheung 于 2010-08-18 00:57 编辑

  1. int palindrome(char *str)
  2. {
  3.   int x, y = 0;
  4.   for ( x = y; ; )
  5.     {
  6.       while ( str[y] && ( str[y] == '' || str[y] = '\t') )
  7.         ++y;
  8.       if ( !str[y] )
  9.         {
  10.           str[x++] = 0;
  11.           break;
  12.         }
  13.       str[x++] = str[y++];
  14.     }

  15.     int i, j;
  16.     for ( i = 0, j = strlen(str)-1; i < j; ++i, --j)
  17.       {
  18.         if ( str[i] != str[j] )
  19.           break;
  20.       }
  21.     return i >= j;
  22. }
复制代码

论坛徽章:
2
15-16赛季CBA联赛之四川
日期:2016-04-23 14:25:46操作系统版块每日发帖之星
日期:2016-05-09 06:20:00
13 [报告]
发表于 2010-08-18 09:28 |只看该作者
像作業題。。。

论坛徽章:
0
14 [报告]
发表于 2010-08-18 11:31 |只看该作者
回复 7# daybreakcx


    呃,第一次迷迷糊糊的看错了..用不用strlen也就是多遍历一次和少遍历一次的差别.

论坛徽章:
0
15 [报告]
发表于 2010-08-18 11:35 |只看该作者
回复 12# JCheung


    strlen(str)直接用x代替就可以了,因为当你去掉空格和tab之后x就是你的字符串长
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP