void PrintKDistanceInSubtree( Node* root, int k)
{
if ( root == NULL) return ;
if ( k == 0 )
{
cout<< root-> data<< " " ;
}
else
{
PrintKDistanceInSubtree( root-> left, k- 1 ) ;
PrintKDistanceInSubtree( root-> right, k- 1 ) ;
}
}
int mainfunction( Node* root, int x, int k)
{
if ( root == NULL) return - 1 ;
if ( root-> data == x)
{
return 0 ; //your are at 0 distance from that node
}
int l1 = mainfunction( root-> left, x, k) ;
int l2 = mainfunction( root-> right, x, k) ;
if ( l1 != - 1 && l1 < k)
{
cout<< root-> data;
if ( root-> right != NULL)
{
PrintKDistanceInSubtree( root-> right, k- x- 1 ) ;
}
return l1+ 1 ;
}
if ( l2 != - 1 && l2 < k)
{
cout<< root-> data;
if ( root-> left != NULL)
{
PrintKDistanceInSubtree( root-> left, k- x- 1 ) ;
}
return l2+ 1 ;
}
return - 1 ;
}
dm9pZCBQcmludEtEaXN0YW5jZUluU3VidHJlZShOb2RlKiByb290LCBpbnQgaykKewogICBpZihyb290ID09IE5VTEwpIHJldHVybjsKCiAgIGlmKGsgPT0gMCkKICAgewogICAgICBjb3V0PDxyb290LT5kYXRhPDwiICAiOwogICB9CiAgIGVsc2UKICAgewogICAgICAgIFByaW50S0Rpc3RhbmNlSW5TdWJ0cmVlKHJvb3QtPmxlZnQsay0xKTsKICAgICAgICBQcmludEtEaXN0YW5jZUluU3VidHJlZShyb290LT5yaWdodCxrLTEpOwogICB9Cn0KCmludCBtYWluZnVuY3Rpb24oTm9kZSogcm9vdCwgaW50IHgsIGludCBrKQp7CgogICAgaWYocm9vdCA9PSBOVUxMKSByZXR1cm4gLTE7CgogICAgaWYocm9vdC0+ZGF0YSA9PSB4KQogICAgewogICAgICAgIHJldHVybiAwOyAvL3lvdXIgYXJlIGF0IDAgZGlzdGFuY2UgZnJvbSB0aGF0IG5vZGUKICAgIH0KCiAgIGludCBsMSA9ICBtYWluZnVuY3Rpb24ocm9vdC0+bGVmdCx4LGspOwogICBpbnQgbDIgPSAgbWFpbmZ1bmN0aW9uKHJvb3QtPnJpZ2h0LHgsayk7CgogICBpZihsMSAhPSAtMSAmJiBsMSA8IGspCiAgIHsKICAgICAgY291dDw8cm9vdC0+ZGF0YTsKICAgICAgaWYocm9vdC0+cmlnaHQgIT0gTlVMTCkKICAgICAgewogICAgICAgICBQcmludEtEaXN0YW5jZUluU3VidHJlZShyb290LT5yaWdodCxrLXgtMSk7CiAgICAgIH0KICAgICAgcmV0dXJuIGwxKzE7CiAgIH0KCiAgIGlmKGwyICE9IC0xICYmIGwyIDwgaykKICAgewogICAgICBjb3V0PDxyb290LT5kYXRhOwogICAgICBpZihyb290LT5sZWZ0ICE9IE5VTEwpCiAgICAgIHsKICAgICAgICAgUHJpbnRLRGlzdGFuY2VJblN1YnRyZWUocm9vdC0+bGVmdCxrLXgtMSk7CiAgICAgIH0KICAgICAgcmV0dXJuIGwyKzE7CiAgIH0KCiAgIHJldHVybiAtMTsKCn0=
compilation info
prog.c:1:30: error: unknown type name 'Node'
void PrintKDistanceInSubtree(Node* root, int k)
^
prog.c:16:18: error: unknown type name 'Node'
int mainfunction(Node* root, int x, int k)
^
stdout