如果是根據中序結果和前序或後序的話,得出的結果應該是唯一的,而且也比較簡單
下面是我自己寫的求中序的演算法:
public
class
test
if(prestring.length()==1)
char rootvalue=prestring.charat(0);
int leftrootindex=poststring.indexof(prestring.substring(1, 2));
if(leftrootindex==poststring.length()-2)else
}public
static
void
main(string args)
}
執行結果:
db(ge,eg)a(fc,cf)
總共有四種結果
如果輸入是:
string prestring= "abdeghcf";
string poststring="dhgebfca";
結果:
db((hg,gh)e,e(hg,gh))a(fc,cf)
總共有8種結果
程式應該是沒問題的,各種測試結果也正確
已經二叉樹的前序遍歷和中序遍歷 寫出後序遍歷演算法
前序遍歷 根左右 中序遍歷 左根右 後序遍歷 左右根 include int find char c,char a,int s,int e 其中pre表示先序序,pre s為先序的起始位置,pre e為先序的終止位置。其中in表示中序,in s為中序的起始位置,in e為中序的終止位置。pronum...
根據前序 中序 後序遍歷還原二叉樹
參考 首先我們得知道概念 前序遍歷 先訪問當前節點,再訪問當前節點的左子樹,最後訪問當前節點的右子樹。對於二叉樹,深度遍歷與此同。規律 根在前 子樹在根後且左子樹比右子樹靠前,且第乙個就是根節點 中序遍歷 先訪問當前節點的左子樹,然後訪問當前節點,最後是當前節點的右子樹,二叉樹,中序遍歷會得到資料公...
根據前序遍歷構建二叉樹
如何只有前序遍歷 帶空節點的 建立二叉樹 1.無法直接切割為左右子樹序列 2.在建立樹的過程中,會得到用掉了多少個節點 返回兩個值,建立好樹的根節點,用掉的個數,用乙個類包起來 public class solution9020 build tree rturn value private stat...