Main Theme 2018-01-20 06:41 采纳率: 33.3%
浏览 965
已结题

lintcode 旋转链表的问题

样例
给出链表1->2->3->4->5->null和k=2

返回4->5->1->2->3->null

我的代码:
ListNode * rotateRight(ListNode * head, int k) {
// write your code here
if(head == NULL || head->next == NULL)
return head;
// 判断链表长度
int len = 1;
ListNode* temp = head;
while(temp)
{
temp = temp->next;
len += 1;
}
// 找到要断开链表的节点,即p
ListNode* p = head;
for(int i=1; i {
p = p->next;
}
// 把断开处的最后一个节点的指针域赋NULL
ListNode* headlast = p;
headlast->next = NULL;
// 把断开后的下一个节点插到newhead的后面
ListNode* newhead = new ListNode(0);
ListNode* q = p->next;
newhead->next = q;
ListNode* last;
while(q)
{
last = q;
q = q->next;
}
// last为最后一个节点,将之前的head链表插入到last后面
last->next = head;
return newhead->next;
}

    报的错误是:Segmentation fault (core dumped)
    请问问题出在哪?
  • 写回答

1条回答 默认 最新

  • threenewbee 2018-01-20 15:52
    关注

    调试下,可能是head或者哪里没有分配内存

    参考:http://blog.csdn.net/wangyuquanliuli/article/details/45792343

    评论

报告相同问题?

悬赏问题

  • ¥15 gwas 分析-数据质控之过滤稀有突变中出现的问题
  • ¥15 没有注册类 (异常来自 HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG))
  • ¥15 知识蒸馏实战博客问题
  • ¥15 用PLC设计纸袋糊底机送料系统
  • ¥15 simulink仿真中dtc控制永磁同步电机如何控制开关频率
  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案