Use recursion and traversal to solve.
boolean BSTbranch(TreeNode start, TreeNode end){
if(start == end) return true;
if(start != null){
if(!BSTbranch(start.left, end){
if(!BSTbranch(start.right, end)
return false;
else
return true;
}
else
return true;
}
return false;
}
boolean graphBranch(int start, int end) {
if(vertexs[index] == null) return false;
vertexs[start].visit();
if(start == end) return true;
for(int i = 0; i <= pos; i ++){
if(adjMat[start][i] == 1 && !vertexs[i].isVisited())
graphBranch(i. end);
}
return false;
}