package Ġcom . ig or wo j da . binary tree . validate Ċ Ċ private Ġobject ĠSolution 1 Ġ{ ĊĠĠĠ Ġprivate Ġfun ĠisValid Search Binary Tree ( node : ĠNode < Int >, Ġmin : ĠInt ? Ġ= Ġnull , Ġmax : ĠInt ? Ġ= Ġnull ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( min Ġ!= Ġnull Ġ&& Ġnode . data Ġ< Ġmin ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( max Ġ!= Ġnull Ġ&& Ġnode . data Ġ> Ġmax ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġleft Node Ġ= Ġnode . left ĊĠĠĠĠĠĠĠ Ġif Ġ( left Node Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠisValid Search Binary Tree ( left Node , Ġmin , Ġnode . data ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġright Node Ġ= Ġnode . right ĊĠĠĠĠĠĠĠ Ġif Ġ( right Node Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠisValid Search Binary Tree ( right Node , Ġnode . data , Ġmax ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġdata Ġclass ĠNode < E Ġ: ĠComparable < E >>( ĊĠĠĠĠĠĠĠ Ġvar Ġdata : ĠE , ĊĠĠĠĠĠĠĠ Ġvar Ġleft : ĠNode < E >? Ġ= Ġnull , ĊĠĠĠĠĠĠĠ Ġvar Ġright : ĠNode < E >? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġinsert ( e : ĠE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( e Ġ< Ġdata ) Ġ{ Ġ// Ġleft Ġnode ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( left Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft Ġ= ĠNode ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġleft ?. insert ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( e Ġ> Ġdata ) Ġ{ Ġ// Ġright Ġnode ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( right Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright Ġ= ĠNode ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġright ?. insert ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġobject ĠK t Lint Will Not Comp lain Ċ