leetcode二叉樹之一

2021-10-08 19:26:58 字數 1078 閱讀 9448

/*目的:求二叉樹最大直徑

返回值:int

輸入:treenode

**/

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

intdiameterofbinarytree

(treenode* root)

};

學習一下二叉樹,感覺這兒演算法思想有點非常規,但也說不出來**。

/*目的:求二叉樹坡度

乙個樹的節點的坡度定義即為,該節點左子樹的結點之和和右子樹結點之和的差的絕對值。空結點的的坡度是0。

整個樹的坡度就是其所有節點的坡度之和。

返回值:int

輸入:treenode

**/

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

return std::

abs(

dfs(root-

>left)

-dfs

(root-

>right))+

findtilt

(root-

>left)

+findtilt

(root-

>right);}

private

:int

dfs(treenode* root)

return root-

>val +

dfs(root-

>left)

+dfs

(root-

>right);}

};

leetcode 二叉樹 對稱二叉樹

給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3 但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3 方法一 遞迴 思路 如果乙個樹的左子樹與右子樹映象對稱,則該樹是對稱的 兩個樹互為映象的...

LeetCode (二叉樹)反轉二叉樹

遞迴交換每乙個節點的左右子樹,重點在於訪問每乙個節點,然後交換左右子樹 definition for a binary tree node.struct treenode struct treenode inverttree struct treenode root 由於至少要講每乙個節點都訪問一次...

LeetCode之映象二叉樹(簡單 二叉樹)

問題描述 給定乙個二叉樹,檢查它是否是映象對稱的。例如,二叉樹 1,2,2,3,4,4,3 是對稱的。1 2 2 3 4 4 3但是下面這個 1,2,2,null,3,null,3 則不是映象對稱的 1 2 2 3 3說明 如果你可以運用遞迴和迭代兩種方法解決這個問題,會很加分。遞迴 definit...