分类: 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才走一步,这样可以在遍历完链表之后,就得到中间位置了。