
-Code
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode reverseList(ListNode head) {
// 이전 노드 선언
ListNode prev = null;
// 현재 노드를 가리키는 노드 선언
ListNode nowNode = head;
while(nowNode != null) {
// 다음 노드를 이전 노드로 변경 이후 사용을 위한
// 다음 노드 셋팅
ListNode nextNode = nowNode.next;
// 현재 노드의 다음을 이전 노드로 변경
nowNode.next = prev;
// 이전 노드가 현재 노드가 됨
prev = nowNode;
// 순서 변경을 위해 가리키는 노드를 다음 노드로 변경
nowNode = nextNode;
}
// nowNode는 null이므로 head가된 이전 노드 반환
return prev;
}
}
어제 이상하게 풀어서 오늘 힌트를 보고 해결했습니다.
'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [LeetCode/Java] String Compression (0) | 2026.01.01 |
|---|---|
| [LeetCode/Java] Increasing Triplet Subsequence (0) | 2026.01.01 |
| [백준/Java] 27487번 One and Two (0) | 2026.01.01 |
| [LeetCode/Java] Product of Array Except Self (0) | 2025.12.31 |
| [LeetCode/Java] Min Cost Climbing Stairs (0) | 2025.12.31 |