linked-list-random-node 1.0.0
Linked List Random Node
Loading...
Searching...
No Matches
Solution Class Reference
Collaboration diagram for Solution:

Public Member Functions

 Solution (ListNode *head)
 
 ~Solution ()
 
int getRandom ()
 

Data Fields

int length
 
vector< ListNode * > * array
 

Detailed Description

Definition at line 18 of file main.cpp.

Constructor & Destructor Documentation

◆ Solution()

Solution::Solution ( ListNode head)
inline

Definition at line 24 of file main.cpp.

25 {
26 length = 0;
27 ListNode* ptr = head;
28 while (ptr != NULL)
29 {
30 length++;
31 ptr = ptr->next;
32 }
33 array = new vector<ListNode*>(length);
34 ptr = head;
35 for (int i = 0; i < length; ++i)
36 {
37 (*array)[i] = ptr;
38 ptr = ptr->next;
39 }
40 srand(time(NULL));
41 }
vector< ListNode * > * array
Definition main.cpp:22
int length
Definition main.cpp:21
Definition for singly-linked list.
Definition main.cpp:10
ListNode * next
Definition main.cpp:12

References array, length, and ListNode::next.

◆ ~Solution()

Solution::~Solution ( )
inline

Definition at line 43 of file main.cpp.

44 {
45 if (array)
46 delete array;
47 }

References array.

Member Function Documentation

◆ getRandom()

int Solution::getRandom ( )
inline

Definition at line 49 of file main.cpp.

50 {
51 return (*array)[rand() % length]->val;
52 }

References array, and length.

Referenced by print_n_randoms().

Field Documentation

◆ array

vector<ListNode*>* Solution::array

Definition at line 22 of file main.cpp.

Referenced by getRandom(), Solution(), and ~Solution().

◆ length

int Solution::length

Definition at line 21 of file main.cpp.

Referenced by getRandom(), and Solution().


The documentation for this class was generated from the following file: