private boolean checkLine(List<TreeNode> line, TreeNode root) {
    	
    	int low = 0;
    	int high = line.size() - 1;
    	
    	if(high == 0 && line.get(0) != root) {
    		return false;
    	}
    	
    	if(high > 0 && high % 2 == 0) return false;	//odd nodes can not be symmetric in tree
    	
    	while(low < high) {
    		if(line.get(low).val != line.get(high).val) {
    			return false;
    		}
    		
    		low++;
    		high--;
    	}
    	
    	return true;
    }