Find all the ancestor nodes of a node in BT.
void findAncestorsOfNode( Node node, int[] arr, int val, int length){
if( node == null){
return ;
}
arr[length++] = node.getValue();
if( node.getValue() == val ){
for( int i = 0 ; i < length-1 ; i++){
System.out.print( arr[i] + " ");
}
System.out.println();
return ;
}else{
findAncestorsOfNode( node.getLeftNode(), arr, val, length);
findAncestorsOfNode( node.getRightNode(), arr, val, length);
}
}
if( node == null){
return ;
}
arr[length++] = node.getValue();
if( node.getValue() == val ){
for( int i = 0 ; i < length-1 ; i++){
System.out.print( arr[i] + " ");
}
System.out.println();
return ;
}else{
findAncestorsOfNode( node.getLeftNode(), arr, val, length);
findAncestorsOfNode( node.getRightNode(), arr, val, length);
}
}
No comments:
Post a Comment