遞迴演算法c 1161 最大層內元素和

2021-10-04 17:45:57 字數 694 閱讀 8477

題目:

給你乙個二叉樹的根節點 root。設根節點位於二叉樹的第 1 層,而根節點的子節點位於第 2 層,依此類推。

請你找出層內元素之和 最大 的那幾層(可能只有一層)的層號,並返回其中 最小 的那個。

1

/ \

70/ \

7-8

輸入:[1,7,0,7,-8,null,null]

輸出:2

解釋:第 1 層各元素之和為 1,

第 2 層各元素之和為 7 + 0 = 7,

第 3 層各元素之和為 7 + -8 = -1,

所以我們返回第 2 層的層號,它的層內元素之和最大。

一開始我想的是用遞迴算出每一層的和,在遞迴的同時把和最小的層數給算出來,顯然我有點失敗了

最後用的是遞迴算出和,然後暴力求最小值

上**:

class

solution

;int maxnum=int_min,t=0;

intmaxlevelsum

(treenode* root)

}return t+1;

}void

bfs(treenode *root,

int depin)

};

leetcode1161 最大層內元素和

給你乙個二叉樹的根節點 root。設根節點位於二叉樹的第 1 層,而根節點的子節點位於第 2 層,依此類推。請你找出層內元素之和 最大 的那幾層 可能只有一層 的層號,並返回其中 最小 的那個。示例 輸入 1,7,0,7,8,null,null 輸出 2 解釋 第 1 層各元素之和為 1,第 2 層...

最大層內元素和

這裡我們可以採用很多解法,比如單佇列 雙佇列 但更多的,我覺得採用遞迴思想,才是比較考驗思維功底的。definition for a binary tree node.type treenode struct func maxlevelsum root treenode int queue tree...

c語言 運用遞迴演算法求出陣列中的最大值

思考題 如何用遞迴求出陣列中的最大項 解 我們很簡單的把乙個擁有n個數字的int型別的陣列看成兩個部分,前n 1項和第n項 在進行比較大小的時候,就直接拿前n 1項和第n項進行比較 如果第n項比較大,就return出第n項 如果前n 1項比第n項要大,就用遞迴的方法return出前n 1項的最大值 ...