k = k % cntifk ==0{//刚好是头节点,就不用操作了。returnhead }//找倒数第k+1节点fast := head slow := head k++fork >0{ fast = fast.Next k-- }forfast !=nil{ fast = fast.Next slow = slow.Next }//缓存结果ans := slow.Next//尾节点连头节点tail.Next = head//倒数k+1节点无...
k++fork>0{fast=fast.Next k--}forfast!=nil{fast=fast.Next slow=slow.Next}//缓存结果ans:=slow.Next//尾节点连头节点tail.Next=head//倒数k+1节点无Next指针slow.Next=nilreturnans}//链表打印funcprintlnLinkNodeList(head*ListNode){cur:=headforcur!=nil{fmt.Print(cur.Val,"\t")cur=cur.Next}...
head.Next.Next.Next = &ListNode{Val: 4} printlnLinkNodeList(head) k := 6 fmt.Println("k =", k) fmt.Println("---") ret := rotateRight(head, k) printlnLinkNodeList(ret) } type ListNode struct { Val int Next *ListNode } func rotateRight(head *ListNode, k int) *ListNode { if ...
2.如果k大于等链表节点个数,需要取模,k一定在[0,节点个数)范围之内。如果k=0,直接返回头节点。3.求倒数k+1的节点。4.缓存倒数第k节... 2021-03-27:给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。输入:head = 1→2→3→4→5, k = 2,输出:4→5→1→2→3。 福大大...
2021-03-27:给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。输入:head = 1→2→3→4→5, k = 2,输出:4→5→1→2→3。 福大大 答案2020-03-27: 1.找尾节点并且计算链表节点个数。 2.如果k大于等链表节点个数,需要取模,k一定在[0,节点个数)范围之内。如果k=0,直接返...