https://leetcode.com/problems/linked-list-random-node
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ public class Solution { List<ListNode> array = new ArrayList<>(); /** @param head The linked list‘s head. Note that the head is guaranteed to be not null, so it contains at least one node. */ public Solution(ListNode head) { ListNode p = head; while (p != null) { array.add(p); p = p.next; } } /** Returns a random node‘s value. */ public int getRandom() { Random random = new Random(); int index = random.nextInt(array.size()); return array.get(index).val; } } /** * Your Solution object will be instantiated and called as such: * Solution obj = new Solution(head); * int param_1 = obj.getRandom(); */
时间: 2024-10-20 18:41:33