Return pointers to nodes instead of returning the values
Don't get children if maxLevel already reached