#include #include #include struct node { struct node *next; int data; }; // You want to traverse a linked list and // find the largest number in it // For example, 3, 4, 5, 6 // current = 3 // max = 3 int largest(struct node *head) { // PUT YOUR CODE HERE, DON'T FORGET TO CHANGE // THE RETURN! struct node *current = head; // current = 3 int max; if (current != NULL) { max = current->data; // max = 3 } else { return 0; } // current = NULL while (current != NULL) { if (current->data > max) { max = current->data; // max = 6 } current = current->next; } // current = NULL return max; } struct node *strings_to_list(int len, char *strings[]); // DO NOT CHANGE THIS MAIN FUNCTION int main(int argc, char *argv[]) { // create linked list from command line arguments struct node *head = strings_to_list(argc - 1, &argv[1]); printf("%d\n", largest(head)); return 0; } // DO NOT CHANGE THIS FUNCTION // create linked list from array of strings struct node *strings_to_list(int len, char *strings[]) { struct node *head = NULL; for (int i = len - 1; i >= 0; i = i - 1) { struct node *n = malloc(sizeof (struct node)); assert(n != NULL); n->next = head; n->data = atoi(strings[i]); head = n; } return head; }