1. 程式人生 > >3.10 調整搜尋二叉樹中兩個錯誤的節點

3.10 調整搜尋二叉樹中兩個錯誤的節點

題目】:

  一棵二叉樹原本是搜尋二叉樹,但是其中有兩個節點調換了位置,使得這棵二叉樹不再是搜尋二叉樹,請找到這兩個錯誤節點並返回。已知二叉樹中所有節點的值都不一樣,給定二叉樹的頭節點head,返回一個長度為2的二叉樹節點型別的陣列errs,errs[0]表示一個錯誤節點,errs[1]表示另一個錯誤節點

 

進階題目】:

  如果在原問題中得到了這兩個錯誤節點,我們當然可以通過交換兩個節點的節點值的方式讓整棵二叉樹重新成為搜尋二叉樹,但現在要求不能這麼做,而是在結構上完全交換兩個節點的位置,請實現調整的函式

 


題目來源:左程雲老師《程式設計師程式碼面試指南》