@ file : Suppress (" unused ") Ċ Ċ package Ġkat as . kotlin . leetcode . invert _ binary _ tree Ċ Ċ import Ġkat as . kotlin . leetcode . TreeNode Ċ import Ġdat sok . should Equal Ċ import Ġorg . junit . Test Ċ Ċ class ĠIn vert Binary Tree Tests Ġ{ ĊĠĠĠ Ġ@ Test Ġfun Ġ` invert Ġa Ġbinary Ġtree `() Ġ{ ĊĠĠĠĠĠĠĠ ĠTreeNode ( 1 ). invert () Ġshould Equal ĠTreeNode ( 1 ) ĊĠĠĠĠĠĠĠ ĠTreeNode ( 2 , ĠTreeNode ( 1 ), ĠTreeNode ( 3 )). invert () Ġshould Equal ĠTreeNode ( 2 , ĠTreeNode ( 3 ), ĠTreeNode ( 1 )) ĊĊĠĠĠĠĠĠĠ ĠTreeNode ( 4 , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTreeNode ( 2 , ĠTreeNode ( 1 ), ĠTreeNode ( 3 )), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTreeNode ( 7 , ĠTreeNode ( 6 ), ĠTreeNode ( 9 )) ĊĠĠĠĠĠĠĠ Ġ). invert () Ġshould Equal ĊĠĠĠĠĠĠĠĠĠĠĠ ĠTreeNode ( 4 , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTreeNode ( 7 , ĠTreeNode ( 9 ), ĠTreeNode ( 6 )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTreeNode ( 2 , ĠTreeNode ( 3 ), ĠTreeNode ( 1 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠTreeNode . invert (): ĠTreeNode Ġ{ ĊĠĠĠ Ġreturn ĠTreeNode ( ĊĠĠĠĠĠĠĠ Ġvalue Ġ= Ġvalue , ĊĠĠĠĠĠĠĠ Ġleft Ġ= Ġright ?. invert (), ĊĠĠĠĠĠĠĠ Ġright Ġ= Ġleft ?. invert () ĊĠĠĠ Ġ) Ċ } Ċ Ċ private Ġfun ĠTreeNode . invert _ mut ating (): ĠTreeNode Ġ{ ĊĠĠĠ Ġval Ġtmp Ġ= Ġleft ĊĠĠĠ Ġleft Ġ= Ġright ĊĠĠĠ Ġright Ġ= Ġtmp ĊĊĠĠĠ Ġleft ?. invert () ĊĠĠĠ Ġright ?. invert () ĊĊĠĠĠ Ġreturn Ġthis Ċ } Ċ