/ * パブリッククラスツリーノード{ int型のval = 0; TreeNodeのは=ヌルを残しました。 ツリーノードを右= NULL; 公共のTreeNode(int型のval){ this.val =ヴァル。 } } * / インポート java.utilの*。; パブリック クラスソリューション{ ツリーノードKthNode(ツリーノードPROOT、int型K){ 場合(PROOT == NULL || K == 0 ){ 戻り ヌル。 } スタック <ツリーノード> S = 新しいスタック<ツリーノード> (); ツリーノードのノード =PROOT; s.add(ノード)。 一方、(!node.left = NULL ){ s.add(node.left)。 ノード = node.left。 } INT NUM = 0 。 一方、(!s.empty()){ ツリーノードTEMP = s.pop()。 NUM ++ ; もし(NUM == K){ 戻りTEMP。 } もし(!temp.right = NULL ){ TEMP = temp.right。 s.add(TEMP)。 一方、(!temp.left = NULL ){ s.add(temp.left)。 温度 = temp.left。 } } } 戻り ヌル。 } }