我們要將一棵普通的樹轉為二叉樹,要遵循這樣的原則:孩子結點→左子樹結點,兄弟結點→右子樹結點。
根結點1還作為根結點,它有三個孩子結點2、3、4,那么這三個孩子結點都應該轉為新二叉樹的左子樹部分(因為1沒有兄弟結點,所以新二叉樹沒有右子樹部分),我們選取最左邊的孩子結點2作為新二叉樹的左子樹結點(左子樹的根),而結點3和4為結點2的兄弟結點,所以3和4應該轉為2的右子樹部分。4是3的兄弟結點,所以4應該作為3的右子樹部分。而5、6、7是3的孩子結點,所以對應為3的左子樹部分,我們同樣選取最左邊的孩子結點5作為3的左子樹的根,而6和7作為5的兄弟結點,應該轉為5的右子樹部分,再次選取最左邊的孩子結點6作為5的右子樹的根,而7作為6的兄弟,直接轉為6的右子樹部分即可。再來看3的右子樹部分,4作為3的兄弟結點,應該轉為3的右子樹的根,而8和9是4的孩子結點,全部轉為4的左子樹部分,選取最左邊的孩子結點8作為4的左子樹的根,而9作為8的兄弟結點,直接轉為8的右子樹部分即可!!!
仔細觀察中間下方的那棵樹,我們每選取一個孩子結點,就將其余的孩子結點與父結點剪斷(虛線),將選取的孩子結點與自己的兄弟結點相連(實線),最終實線連成的樹就是我們需要轉換的二叉樹!!!