Pregunta de entrevista de Google

How to inorder traverse binary tree without recursion?

Respuesta de la entrevista

Anónimo

1 de abr de 2012

Use a stack, e.g.: /** Iteratively traverses the binary tree in in-order */ public void inorder( ) { Node node = root; Stack stack = new Stack( ); while( ! stack.isEmpty( ) || node != null ) { if( node != null ) { stack.push( node ); node = node.left; } else { node = stack.pop( ); System.out.print( node.data + " " ); node = node.right; } } }

1