0
你將如何實現一個函數,該函數返回樹中給定元素之前找到的葉子數量?假設你從左到右閱讀樹?如何統計樹中給定節點之前的葉子?
我發現了做它,但它不是很直接,並使用異常機制,我認爲可能有一個優雅的方式來做到這一點?
你將如何實現一個函數,該函數返回樹中給定元素之前找到的葉子數量?假設你從左到右閱讀樹?如何統計樹中給定節點之前的葉子?
我發現了做它,但它不是很直接,並使用異常機制,我認爲可能有一個優雅的方式來做到這一點?
也許你可以只是dfs樹,計算葉子,將它保存到每個節點。像
int count;
void dfs(int x){
dfs(x->left);
leafBefore[x] = count;
if (x is leaf) count += 1;
dfs(x->right);
}
count = 0;
dfs(root);
可以發表一些例子嗎? 「在給定元素之前找到」是什麼意思?重複是可能的? – barak1412