| 1234567891011121314151617181920212223242526272829303132 | 
							- /**
 
-  * Definition for singly-linked list.
 
-  * type ListNode struct {
 
-  *     Val int
 
-  *     Next *ListNode
 
-  * }
 
-  */
 
- type Solution struct {
 
- 	arr []int
 
- 	n   int
 
- }
 
- /** @param head The linked list's head.
 
-   Note that the head is guaranteed to be not null, so it contains at least one node. */
 
- func Constructor(head *ListNode) (sol Solution) {
 
- 	for curr := head; curr != nil; curr = curr.Next {
 
- 		sol.arr = append(sol.arr, curr.Val)
 
- 		sol.n++
 
- 	}
 
- 	return
 
- }
 
- /** Returns a random node's value. */
 
- func (this *Solution) GetRandom() int {
 
- 	return this.arr[rand.Intn(this.n)]
 
- }
 
- /**
 
-  * Your Solution object will be instantiated and called as such:
 
-  * obj := Constructor(head);
 
-  * param_1 := obj.GetRandom();
 
-  */
 
 
  |