1 |
h05 |
CS24 W19 |
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 | Wed 02/06 02:00PM | Mon 02/11 09: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 lowest scores (if you have zeros, those are the 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
};