07.05兰亭集势笔试题目

来源:互联网 发布:汉朝罗马知乎 编辑:程序博客网 时间:2024/04/28 06:51

选择题第六个

str[0]的地址指代的是次一级的元素,所以p加的时候是加一个元素 而不是一行。

而且strlen(char *)的含义是从形参开始的地方到字符结束的地方的长度。

所以选择5。

算法题第二个

分析:(假设链表无头结点)

我们可以把整个链表分成多个长度为 k  的子链表, 然后,我们再反转每一个子链表(递归)。问题的关键是我们需要把每个子链表再连接起来。所以,对每一个子链表操作以后,我们需要返回该子链表的头(C),然后,我们设置前一个子链表的最后一个node,把它的next 设置成下一个链表返回的头(C),这样,所有的子链表就连接起来了。


LinkNode* Reverse(LinkNode *C,int k){LinkNode *pre,*cur,*ne;int count=0;cur=C;ne=pre=NULL;while(cur!=NULL&&count<k){ne=cur->next;cur->next=pre;pre=cur;cur=ne;count++;}if(ne!=NULL)    C->next=Reverse(ne,k);return pre;}




 

0 0
原创粉丝点击