HTMLify

LeetCode - Rotate List - Go
Views: 19 | Author: abh
/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func rotateRight(head *ListNode, k int) *ListNode {
	if head == nil || head.Next == nil {
		return head
	}

	var l int
	t_head := head
	for ;t_head.Next!=nil; {
		t_head = t_head.Next
		l++
	}
	l++

	k = k % l
	for range k {
		tn := head.Next
		sln := head
		for ;tn.Next!=nil; {
			sln = sln.Next
			tn = tn.Next
		}
		sln.Next.Next = head
		head = sln.Next
		sln.Next = nil
	}
	return head
}

Comments