public class MyLinkedList implements StringList {

	Node first; // if null the list empty
	int size = 0;

	public class Node {
		String data;
		Node next;

		public Node(String str, Node n) {
			data = str;
			next = n;
		}
	}

	@Override
	public void add(String str) {
		size++;
		if (first == null) {
			first = new Node(str, null);
		} else {
			Node cur = first;
			while (cur.next != null) {
				cur = cur.next;
			}
			cur.next = new Node(str, null);
		}
	}

	@Override
	public String get(int i) {
		Node cur = first;
		for (int j = 0; j < i; j++) {
			cur = cur.next;
		}
		return cur.data;
	}

	@Override
	public void remove(int i) {
		// TODO Auto-generated method stub
		if (i == 0) {
            first = first.next;
		} else {

			Node cur = first;
			for (int j = 0; j < i - 1; j++) {
				cur = cur.next;
			}
			cur.next = cur.next.next;
		}
		size--;
	}

	@Override
	public String show() {
		// TODO Auto-generated method stub
		String res = "";
		Node cur = first;
		while (cur != null)  {
			res += cur.data + ",";
			cur = cur.next;
		}
		return res;
	}

	@Override
	public int size() {
	 return size;
		
		// TODO Auto-generated method stub
	/*	int count = 0;
		Node cur = first;
		while (cur != null)  {
			cur = cur.next;
			count++;
		}
		return count;*/
	}

}

