2021
05-28
05-28
go实现反转链表
反转链表首先讨论特殊节点如果节点在首位,则反转之后,首位节点的next值为nil。funcreverse(head*ListNode)*ListNode{bnode:=head//设置默认遍历的前节点,为headtemp:=head.Next//从head.next节点开始遍历链表flage:=0//设置一个标记,用于判断是否为第一个节点varlnext*ListNode//用于临时保存下一个节点fortemp!=nil{//遍历当lnext=temp.Next//先将遍历节点的下一个节点进行保存temp.Next=bnode/...
继续阅读 >
题目:反转一个单链表。示例:输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?思路:主要需要注意反转过程中不要丢了节点。可以使用两个指针,也可以使用三个指针。Python解法一:classSolution:defreverseList(self,head):cur,prev=head,Nonewhilecur:temp=cur.nextcur.next=prevprev=curcur=tempretur...