Учитывая односвязный список, вернуть значение случайного узла из связанного списка. Каждый узел должен иметь одинаковую вероятность быть выбранным.

Реализуйте класс Solution:

  • Solution(ListNode head) Инициализирует объект целочисленным массивом nums.
  • int getRandom() Случайным образом выбирает узел из списка и возвращает его значение. Все узлы списка должны быть выбраны с равной вероятностью.

Пример 1:

Input
["Solution", "getRandom", "getRandom", "getRandom", "getRandom", "getRandom"]
[[[1, 2, 3]], [], [], [], [], []]
Output
[null, 1, 3, 2, 2, 3]
Explanation
Solution solution = new Solution([1, 2, 3]);
solution.getRandom(); // return 1
solution.getRandom(); // return 3
solution.getRandom(); // return 2
solution.getRandom(); // return 2
solution.getRandom(); // return 3
// getRandom() should return either 1, 2, or 3 randomly. Each element should have equal probability of returning.

Решение:

Заключение:

Это проблема от 07 января 2022 г. — проблема дня на Leetcode, если вы хотите больше, пожалуйста, следите за обновлениями.

Прокомментируйте свои ценные мысли или любые предложения по модификации решения.