定義一個二叉樹的結點
二叉樹的前序遍歷,
先訪問根結點,再訪問左,再訪問右。
每次訪問都要先看根結點是否為空,然后打印根結點,把此時根結點的左結點作為下一次遞歸的根結點,當把左結點遍歷完后,再遍歷右結點。其實很好想,每回只看一個結點,想一個結點怎么遍歷,再用遞歸一寫就行,實在不行就用筆畫一畫,多用腦子把程序跑幾遍就好。
中序遍歷,先訪問左結點,再訪問根結點,最后訪問右結點。
后序遍歷
只要根結點不為空,就把個數加一,然后把根結點的左結點作為下一次遞歸的根結點,然后再把此時根結點的右結點作為下一次遞歸打的右結點
第一次判斷,如果根結點為空,返回0,如果不為空,left記錄永遠把當前根結點的左結點作為下一次遞歸的根結點,每次進到下一層,再進行一次根結點判斷,如此反復,右結點也是如此。