谁告诉我具体错在哪里了,在报panic

akamachi · · 888 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 (leetcode 第24题 https://leetcode-cn.com/problems/swap-nodes-in-pairs/) 代码如下: ~~~ /** * Definition for singly-linked list. * type ListNode struct { * Val int * Next *ListNode * } */ go func swapPairs(head *ListNode) *ListNode { var tmp *ListNode tmp.Next=head //这里一直在报panic,说无效的存储空间或空指针差异 for{ tmp=swap(tmp) tmp=(tmp.Next) if tmp.Next==nil{ break } tmp=(tmp.Next) if tmp.Next==nil{ break } } return tmp.Next } func swap(head *ListNode) *ListNode { if head.Next==nil{ return head } var head1,head2 *ListNode head1=head.Next head2=head.Next.Next head.Next=head2 head1.Next=head2.Next head2.Next=head1 return head } ~~~ 为什么不允许在前面加一个元素,语法问题错在哪?我实在想不明白。

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

888 次点击  
加入收藏 微博
2 回复  |  直到 2019-10-18 14:45:54
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传