[LeetCode] Reverse Linked List
3270 ワード
質問する
Given the head of a singly linked list, reverse the list, and return the reversed list.
입출력 예
Input: head = [1,2,3,4,5]
Output: [5,4,3,2,1]
に近づく
headを入力するnextで行います.まず、headのnextを別の変数に配置し、headのnextをnullに変更します.入出力例に示すように、headは[1]nextNodeになります.while文を使用するときにnextNodeが存在する場合は、条件はです.これはnextnodeでheadを逆方向の値に変更するためです.
while文の論理は次のとおりです.宣言されたnextNodeのnextを新しい変数nextNextNodeに宣言し、nextNodeのnextをheadに変更します.次のheadは変更されたnextNodeとして指定され、nextNodeはnextNextNodeとして指定されます.あなたが何を言っているのか分かりません.コードを表示します.
に答える
var reverseList = function(head) {
console.log(head)
if (!head) return head;
let nextNode = head.next;
// 맨 마지막 노드는 항상 null이 되도록!
head.next = null;
// head에 next가 있는 동안 아래의 while문을 돌린다
while (nextNode) {
const nextNextNode = nextNode.next; // nextNode의 그 다음 노드를 변수 nextNextNode로 지정해준다
nextNode.next = head; // nextNode.next는 제일 처음에 있던 head node로 대체 시켜준다
head = nextNode; // 기존의 head node는 그 뒤에 있던 nextNode로 대체 시켜준다
nextNode = nextNextNode; // 기존의 next node는 그 뒤에 있던 nextNextNode로 대체 시켜준다
// 이 cycle 이 반복되면서 기존의 순서는 반대로 뒤바뀔 것이다.
}
return head;
};
Reference
この問題について([LeetCode] Reverse Linked List), 我々は、より多くの情報をここで見つけました https://velog.io/@gyu716625/LeetCode-Reverse-Linked-Listテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol