開始用想用棧模擬,結果發現很不幸對於+ + + 1 2 + 3 4 5 算不出來,考慮輸入輸出,考慮語法,考慮容器是否清空,考慮是不是有些情況和特殊資料沒有考慮到(演算法),考慮是否常識有誤
#include
#include
#include
#include
#include
#include
using namespace std;
stackstac;
string s1,s2;
float cal(char c,string b,string a)
int main()
後來看網上用的二叉樹的遞迴:
#include
#include
#include
#include
using namespace std;
char shz[100];
double cal()
int main()
這道題的認識:
1:stringstream ss每用完一次就要ss.clear(),否則第二次會亂七八糟;
2:string 轉字串陣列用 shz.c_str();
3:變數申明的時候用double並用double計算,用float輸出
遞迴 二叉樹上的相同點
用遞迴的方法來做是一道很簡單的題,但是如果用普通的方法的話會比較繁雜,所以遇到問題還是多想想。如上圖所示,由正整數1,2,3,組成了一棵無限大的二叉樹。從某乙個結點到根結 點 編號是1 的結點 都有一條唯一的路徑,比如從10 到根結點的路徑是 10,5,2,1 從4 到根結點的路徑是 4,2,1 從...
加分二叉樹(區間動規或記憶化搜尋)
設乙個n個節點的二叉樹tree的中序遍歷為 l,2,3,n 其中數字1,2,3,n為節點編號。每個節點都有乙個分數 均為正整數 記第i個節點的分數為di,tree及它的每個子樹都有乙個加分,任一棵子樹subtree 也包含tree本身 的加分計算方法如下 subtree的左子樹的加分 subtree...
二叉樹的遞迴
遞迴版,時間複雜度o n 空間複雜度o logn private static int mindepth treenode root 同上,遞迴版,時間複雜度o n 空間複雜度o logn public int maxdepth treenode root return true,as there ...