/** Ċ Ġ* ĠExample : Ċ Ġ* Ġvar Ġti Ġ= ĠTreeNode ( 5 ) Ċ Ġ* Ġvar Ġv Ġ= Ġti .` val ` Ċ Ġ* ĠDefinition Ġfor Ġa Ġbinary Ġtree Ġnode . Ċ Ġ* Ġclass ĠTreeNode ( var Ġ` val `: ĠInt ) Ġ{ Ċ Ġ* ĠĠĠĠ Ġvar Ġleft : ĠTreeNode ? Ġ= Ġnull Ċ Ġ* ĠĠĠĠ Ġvar Ġright : ĠTreeNode ? Ġ= Ġnull Ċ Ġ* Ġ} Ċ Ġ*/ Ċ class ĠSolution Ġ{ ĊĠĠĠ Ġfun Ġmin Depth ( root : ĠTreeNode ?): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( root Ġ== Ġnull ) Ġreturn Ġ 0 ; ĊĠĠĠĠĠĠĠ Ġreturn Ġfind Minimum Path ( root ); ĊĠĠĠ Ġ} ĊĠĠĠ Ġfun Ġfind Minimum Path ( node : ĠTreeNode ?): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif ( node Ġ== Ġnull ) Ġreturn Ġ- 5 5 5 ; ĊĠĠĠĠĠĠĠ Ġvar Ġleft Ġ= Ġfind Minimum Path ( node . left ); ĊĠĠĠĠĠĠĠ Ġvar Ġright Ġ= Ġfind Minimum Path ( node . right ); ĊĠĠĠĠĊĠĠĠĠĠĠĠ Ġif ( left Ġ== Ġ- 5 5 5 Ġ&& Ġright Ġ== Ġ- 5 5 5 ) Ġreturn Ġ 1 ; ĊĠĠĠĠĊĠĠĠĠĠĠĠ Ġif ( left Ġ== Ġ- 5 5 5 ) Ġreturn Ġ 1 Ġ+ Ġright ; ĊĠĠĠĠĠĠĠ Ġif ( right Ġ== Ġ- 5 5 5 ) Ġreturn Ġ 1 Ġ+ Ġleft ; ĊĠĠĠĠĊĠĠĠĠĠĠĠ Ġreturn Ġ 1 Ġ+ ĠMath . min ( left , Ġright ); ĊĠĠĠ Ġ} Ċ } Ċ