LeetCode - 61. Rotate List(Linked List, Two Pointers)*

YAMAMAMO·2022년 10월 5일
0

LeetCode

목록 보기
61/100

문제

Given the head of a linked list, rotate the list to the right by k places.

https://leetcode.com/problems/rotate-list/

Example 1:

Input: head = [1,2,3,4,5], k = 2
Output: [4,5,1,2,3]

Example 2:

Input: head = [0,1,2], k = 4
Output: [2,0,1]

풀이

class Solution {
    public ListNode rotateRight(ListNode head, int k) {
        if(head==null) return head;
        
        ListNode temp = head;
        int len = 1;
        while(temp.next!=null){
            temp=temp.next;
            len++;
        }
        temp.next=head;
        for(int i=0; i<len-k%len;i++){
            temp=temp.next;
        }
        head=temp.next;
        temp.next=null;
        return head;
        
    }
}
profile
안드로이드 개발자

0개의 댓글