static public int getHeightDFS(Tree root) {
		if(root == null) 
			return 0;
		int height = 0;
		Stack<Tree> stack = new Stack<Tree>();
		stack.push(root);
		Tree prev = root;
		while(!stack.empty()) {
			if(stack.size() > height)
				height = stack.size();
			Tree curr = stack.peek();
			if(curr.lc != null && curr.lc != prev && curr.rc != prev) {
				stack.push(curr.lc);
				prev = curr;
				continue;
			}
			if(curr.rc != null && curr.rc != prev) {
				stack.push(curr.rc);
				prev = curr;
				continue;
			}
			stack.pop();
			prev = curr;
		}
		return height;
	}