/**
* public class ListNode {
* public int val;
* public ListNode next;
* public ListNode(int val, ListNode next=null) {
* this.val = val;
* this.next = next;
* }
* }
*/
public class Solution {
public static ListNode ReverseList(ListNode head) {
ListNode curr = head;
ListNode prev = null;
while (curr != null) {
// Сохраняем текущий узел во временной переменной
ListNode tmp = curr;
// Переходим к следующему узлу
curr = curr.next;
// Разворачиваем указатель: текущий узел теперь указывает на предыдущий
tmp.next = prev;
// Обновляем предыдущий узел на текущий
prev = tmp;
}
return prev;
}
}
#include <vector>
using namespace std;
/**
* struct ListNode {
* int val;
* ListNode *next;
* ListNode(int x) : val(x), next(nullptr) {}
* };
*/
ListNode* reverseList(ListNode* head) {
ListNode* curr = head;
ListNode* prev = nullptr;
while (curr != nullptr) {
// Сохраняем текущий узел
ListNode* tmp = curr;
// Переходим к следующему узлу
curr = curr->next;
// Разворачиваем указатель
tmp->next = prev;
// Обновляем предыдущий узел
prev = tmp;
}
return prev;
};
package main
/**
* type ListNode struct {
* Val int
* Next *ListNode
* }
*/
func reverseList(head *ListNode) *ListNode {
curr := head
var prev *ListNode
for curr != nil {
// Сохраняем текущий узел во временной переменной
tmp := curr
// Переходим к следующему узлу
curr = curr.Next
// Разворачиваем указатель: текущий узел теперь указывает на предыдущий
tmp.Next = prev
// Обновляем предыдущий узел на текущий
prev = tmp
}
return prev
}
import java.util.*;
/**
* class ListNode {
* Integer val;
* ListNode next;
* ListNode() {}
* ListNode(Integer val) { this.val = val; }
* ListNode(Integer val, ListNode next) {
* this.val = val;
* this.next = next;
* }
* }
*/
public class Solution {
public ListNode reverseList(ListNode head) {
ListNode curr = head;
ListNode prev = null;
while (curr != null) {
// Сохраняем текущий узел
ListNode tmp = curr;
// Переходим к следующему узлу
curr = curr.next;
// Разворачиваем указатель
tmp.next = prev;
// Обновляем предыдущий узел
prev = tmp;
}
return prev;
}
}
from list_node import ListNode
# class ListNode:
# def __init__(self, val, next=None):
# self.val = val
# self.next = next
def reverse_list(head: Optional[ListNode]) -> Optional[ListNode]:
curr = head
prev = None
while curr:
# Сохраняем текущий узел
tmp = curr
# Переходим к следующему узлу
curr = curr.next
# Разворачиваем указатель
tmp.next = prev
# Обновляем предыдущий узел
prev = tmp
return prev
import { ListNode } from './listNode.js';
/**
* class ListNode {
* constructor(val, next) {
* this.val = val;
* this.next = (next === undefined ? null : next);
* }
* }
*/
/**
* @param {ListNode} head
* @returns {ListNode}
*/
export function reverseList(head) {
let curr = head;
let prev = null;
while (curr !== null) {
// Сохраняем текущий узел во временной переменной
let tmp = curr;
// Переходим к следующему узлу
curr = curr.next;
// Разворачиваем указатель: текущий узел теперь указывает на предыдущий
tmp.next = prev;
// Обновляем предыдущий узел на текущий
prev = tmp;
}
return prev;
}