/**
* 題目描述:
* 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。
* 假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。
* 例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。
* @author [email protected]
*/public class day04 ;
int inorder=;
binarytreenode root=reconstructtree(preorder,inorder);
system.out.println("先序輸出:");
printpre(root);
system.out.println();
system.out.println("中序輸出:");
printin(root);
system.out.println();
system.out.println("後序輸出:");
printbe(root);
}private static binarytreenode reconstructtree(int preorder, int inorder)
//進行遞迴構造
root.setright(reconstructtree(newpreorder,newinorder));
} return root;
} /**
* 先序輸出
* @param tree
*/private static void printpre(binarytreenode tree)
} /**
* 中序輸出
* @param tree
*/private static void printin(binarytreenode tree)
} /**
* 後序輸出
* @param tree
*/private static void printbe(binarytreenode tree) }}
/** * 二叉樹節點類定義
* * @author [email protected]
* @date 2023年6月8日 下午4:46:12
*/class binarytreenode
public binarytreenode(int value, binarytreenode left, binarytreenode right)
public int getvalue()
public void setvalue(int value)
public binarytreenode getleft()
public void setleft(binarytreenode left)
public binarytreenode getright()
public void setright(binarytreenode right)
}
劍指offer 不用加減乘除做加法(java)
題目 寫乙個函式,求兩個整數之和,要求在函式體內不得適用 四則運算符號 面試的時候被問道這個問題,首先我們分析人們是如何進行十進位制的加法的,比如如何得出5 17 22這個結果的,實際上,我們可以分三步進行 第一步只做各位相加不進製,此時相加的結果是12,第二步做進製,5 7中有進製,進製的值為10...
劍指offer 醜數(Java)
題目 我們把只包含因子2 3和5的數稱作醜數 ugly number 求按從小到大的順序的第1500個醜數。例如6 8都是醜數,但14不是,因為它包含因子7。習慣上我們把1當做第乙個醜數。思路 直觀思路 從1開始逐一判斷每個整數是否為醜數,直到找到第n個醜數,時間效率太低。因為對於每乙個整數都要計算...
劍指offer 第三波
輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 解題思路 有兩點需要注意的,一是可以再新增乙個函式,該函式用於判斷兩子樹以當前點作為根節點是否相互包含。另外需要注意的是,遞迴的部分可以做一點優化,如果左子樹已經包含了proot2,則可以不用再判斷右子樹而直接得...