| 1 | 
| h05 | 
| CS24 W18 | 
| Name: | ||||
|---|---|---|---|---|
| (as it would appear on official course roster) | ||||
| Umail address: | @umail.ucsb.edu | section | ||
| Optional: name you wish to be called if different from name above. | ||||
| Optional: name of "homework buddy" (leaving this blank signifies "I worked alone" | ||||
h05: Chapter 9: Recursion
| ready? | assigned | due | points | 
|---|---|---|---|
| true | Tue 05/01 11:00AM | Tue 05/08 11:00AM | 
You may collaborate on this homework with AT MOST one person, an optional "homework buddy".
MAY ONLY BE TURNED IN IN THE LECTURE/LAB LISTED ABOVE AS THE DUE DATE,
OR IF APPLICABLE, SUBMITTED ON GRADESCOPE.   There is NO MAKEUP for missed assignments;
in place of that, we drop the three lowest scores (if you have zeros, those are the three lowest scores.)
Please:
- No Staples.
- No Paperclips.
- No folded down corners.
Complete your reading of Chapter 9 (If you don’t have a copy of the textbook yet, there is one on reserve at the library under “COMP000-STAFF - Permanent Reserve”).
- 
1. (10 pts) Write a recursive function to check if an input string is a palindrome. Decide on the parameters and return type of the function as appropriate.
2. (10 pts) Consider the following definition of a doubly linked-list.
class LinkedList{
	public:
		LinkedList():head(0), tail(0){}
		~LinkedList();
		void reverse(); //reverses the order of elements in the linked list
		void insert(int value);
	private:
	    struct Node{
  			int data;
  			Node* next;
  			Node* prev;
		};
		Node* head;
		Node* tail;
		//Add your helper function here that recursively reverses the order of elements in the linked list
};