給定bst。改動bst,使得每乙個點都是大於他的結點的值之和
關鍵是這題遞迴引數怎麼設計,每乙個點比他大的有兩快。乙個是右子書(假設有的話),還有乙個是祖先裡面比他大的,假設直接用這兩個的話,找不到遞迴結構。
應該設計第乙個引數是祖先比他大的節點和,第二個引數是子樹的和。包含自身。
struct node
;class solution
void f(node* root, int ancestorgreatersum, int& subtreesum)
int leftsubtreesum=0, rightsubtreesum=0;
f(root->right, ancestorgreatersum, rightsubtreesum);
f(root->left, ancestorgreatersum+root->val+rightsubtreesum, leftsubtreesum);
subtreesum=leftsubtreesum+rightsubtreesum;
root->val=ancestorgreatersum+rightsubtreesum;
}};
時間複雜度on,空間o1,此處不包括系統棧
資料結構題
題目背景 把一張紙對折100次就和珠穆朗瑪峰一樣高了哦 syh 題目描述 注 本系列題不按難度排序哦 第一行乙個n,m 接下來一行n個數表示a i 接下來m行,每行l,r,l1,r1,x,表示求get l,r,x get l1,r1,x 輸出描述 3 m行,先輸出get l,r,x 再輸出get l...
資料結構題
題目背景 把一張紙對折100次就和珠穆朗瑪峰一樣高了哦 syh 題目描述 注 本系列題不按難度排序哦 第一行乙個n,m 接下來一行n個數表示a i 接下來m行,每行l,r,l1,r1,x,表示求get l,r,x get l1,r1,x 輸出描述 3 m行,先輸出get l,r,x 再輸出get l...
資料結構 二分搜尋樹(BST)
1.二分搜尋樹的簡單介紹 一般來講,二叉樹的儲存資料的基本結構是封裝乙個node節點,儲存左右兩個孩子的node變數,以及乙個泛型資料,二分搜尋樹需要泛型型別實現comparable介面 必須保證左子樹的資料比右子樹大 created by upupgogogo on 2018 5 30.上午11 ...