07.05兰亭集势笔试题目

选择题第六个

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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值