Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5606733
  • 博文数量: 922
  • 博客积分: 19333
  • 博客等级: 上将
  • 技术积分: 11226
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-27 14:33
文章分类

全部博文(922)

文章存档

2023年(1)

2020年(2)

2019年(1)

2017年(1)

2016年(3)

2015年(10)

2014年(17)

2013年(49)

2012年(291)

2011年(266)

2010年(95)

2009年(54)

2008年(132)

分类: C/C++

2012-01-18 12:58:40

1,把一个sentence反转,但是其中word不反转,
          比如”I am tiger” to “tiger am I”
  
 利用上面的word reverse的函数,注意判断space。 
    先把整个sentence反转,然后再次反转其中的每个word。

2,计算一个int数中有多少个1,
(1)直接 loop 每次移位判断 位是否为 1。
(2)loop for n = n & (n - 1) ,  loop次数就是1的个数。
(因为n-1相当于把n的第一个1变成了0,1后面的0变成1),
例如
111000
编成110111,
所以n&(n-1)相当于去掉第1个1。直至结束。

3,链表中间元素
两个遍历指针,p1,p2,p1走两步,p2才走一步,这样可以在遍历完链表之后,就得到中间位置了。

阅读(971) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~