package Ġcn . leetcode . codes . simple 1 0 4 Ċ Ċ import Ġcn . leetcode . codes . common . TreeNode Ċ import Ġjava . util .* Ċ import Ġkotlin . math . max Ċ Ċ class ĠSimple 1 0 4 _ 3 Ġ{ ĊĊĠĠĠ Ġ// éĢĴ å½Ĵ è§£ æ³ķ ĊĠĠĠ Ġfun Ġmax Depth ( root : ĠTreeNode ?): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( root Ġ== Ġnull ) Ġreturn Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġreturn Ġmax ( max Depth ( root . left ), Ġmax Depth ( root . right )) Ġ+ Ġ 1 ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// è¿Ńä»£ è§£ æ³ķ ĊĠĠĠ Ġfun Ġmax Depth 2 ( root : ĠTreeNode ?): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( root Ġ== Ġnull ) Ġreturn Ġ 0 ĊĊĠĠĠĠĠĠĠ Ġvar Ġnode Ġ= Ġroot ĊĠĠĠĠĠĠĠ Ġval Ġdeque Ġ= ĠLinkedList < TreeNode >() ĊĠĠĠĠĠĠĠ Ġdeque . add ( node ) ĊĠĠĠĠĠĠĠ Ġvar Ġans Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhile Ġ(! deque . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġsize Ġ= Ġdeque . size ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( size Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnode Ġ= Ġdeque . poll () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( node . left Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeque . add ( node . left ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( node . right Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeque . add ( node . right ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize -- ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġans ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġans ĊĠĠĠ Ġ} Ċ Ċ }