CP #46: Binary Tree Problemleri 2
7. Implement In-Order Traversal Without Recursion Recursion kullanmadan, verilen bir binary tree'yi in-order seklinde traverse ederek, node degerlerini bir array icerisinde dondurunuz. Cozum Recursion kullandigimiz cozumde, ust uste revuesive fonksiyon cagrilari yaptigimizda, aslinda bizim icin bunlarin sirasini tutan bir system call stack var. Bunu simule etmek iyi bir baslangic olabilir. Adi uzerinde zaten, en son cagri yapilan fonksiyon ilk donecek olandir. Yani stack yapisi. def inorder_non_recursive(tree): # traverse ettigimiz degerleri tutacagimiz array ret = [] # call-stack simulatoru stack = [] # root node'dan basliyoruz cur = tree # stack'te bisey kalmadigi zaman ve de cur de None oldugu zaman # traversal bitmis demektir. while cur or stack: # eger cur pointeri None degil ise # sol subtree'ye gitmemiz gerek if cur: stack.append(cur) cur = cur.left else: