Skip to content

Latest commit

 

History

History
68 lines (60 loc) · 1.37 KB

exercise-answers.md

File metadata and controls

68 lines (60 loc) · 1.37 KB

CSE 143

Exercise Answers

Week 3

  1. One possible answer is shown below.

    q.next = p.next;
    p.next = q;
  2. One possible answer is shown below.

    public int deleteBack() {
        ListNode curr = front;
        if (curr == null) {
            throw new NoSuchElementException();
        }
        if (curr.next == null) {
            int value = front.data;
            front = null;
            return value;
        }
        while (curr.next.next != null) {
            curr = curr.next;
        }
        int value = curr.next.data;
        curr.next = null;
        return value;
    }
  3. One possible answer is shown below.

    public String starString(int n) {
    	if (n < 0) {
    		throw new IllegalArgumentException();
    	}
    	if (n == 0) {
    		return "*";
    	} else {
    		return starString(n-1) + starString(n - 1);
    	}
    }
  4. One possible answer is shown below.

    public int digitMatch (int xint y) {
    	if (x < 0 || y < 0) {
    		throw new IllegalArgumentException();
    	}
    	if (x < 10 || y < 10) {
    		if (x % 10 == y % 10) {
    			return 1;
    		} else {
    			return 0;
    		}
    	} else if (x % 10 == y % 10) {
    		return 1 + digitMatch(x / 10y / 10);
    	} else {
    		return digitMatch(x / 10y / 10);
    	}
    }