Write a function named toString
that accepts a pointer to a ListNode
representing the front of a linked list.
Your function should return a string representation of the state of the list with curly braces around the edges and commas between the elements, such as "{10, 20, 30}"
.
If the list is empty, you should return "{}"
.
You can use the integerToString
function to convert an int
into a string
value.
Note that you are returning a string, not printing to the console (cout
).
Constraints:
Do not construct any new ListNode
objects in solving this problem (though you may create as many ListNode*
pointer variables as you like).
Do not use any auxiliary data structures to solve this problem (no array, vector, stack, queue, string, etc).
Your function should not modify the linked list's state; the state of the list should remain constant with respect to your function.
Assume that you are using the ListNode
structure as defined below:
struct ListNode {
int data; // value stored in each node
ListNode* next; // pointer to next node in list (nullptr if none)
}