leetcode513 找到左下角的值

2022-10-07 13:33:10 字數 580 閱讀 7574

這道題的遞迴比迭代要難寫,recursion是一道樹上帶回溯,iteration幾乎套層次遍歷即可。

說白了就是要找到深度最大的葉子節點

?如何保證深度最大的就是最左的?——使用前序遍歷

?為什麼使用的是前序遍歷而不是更傾向於左邊的中序遍歷

前序遍歷中最先訪問到的就是最左邊的葉子節點。

我們對每個結點的操作是:如果他是葉子節點,則更新深度,否則就繼續往下走。

class solution 

private void tr**ersal(treenode root, int depth)

}if(root.left != null) tr**ersal(root.left, depth+1);

if(root.right != null) tr**ersal(root.right, depth+1);

}}

用乙個值來表示每一層最左邊的值即可,遍歷結束該值儲存的就是最後一層最左邊的值,即題目所求

class solution 

}return ans;

}}

LeetCode 513 找樹左下角的值

題目描述 給定乙個二叉樹,在樹的最後一行找到最左邊的值。示例 1 輸入 2 1 3 輸出 1 示例 2 輸入 1 2 3 4 5 6 7 輸出 7 注意 您可以假設樹 即給定的根節點 不為 null。思路1 此題目第一眼看到就想起了二叉樹的右檢視。這個題跟此題類似,可以按照二叉樹的左檢視來做,最後只...

leetcode513 找樹左下角的值

給定乙個二叉樹,在樹的最後一行找到最左邊的值。示例 1 輸入 2 1 3 輸出 1 示例 2 輸入 1 2 3 4 5 6 7 輸出 7 注意 您可以假設樹 即給定的根節點 不為 null。在正常的二叉樹層次遍歷中,從左到右遍歷,最後乙個輸出的節點是二叉樹最右下角的節點,那麼每一層從右到左遍歷,則最...

LeetCode 513 找樹左下角的值

給定乙個二叉樹,在樹的最後一行找到最左邊的值。示例 1 輸入 2 1 3 輸出 1示例 2 輸入 1 2 3 4 5 6 7輸出 7我們可以使用層序遍歷的方式來儲存元素,乙個bfs,可以先把右節點加入佇列,然後 最後乙個佇列的結點就是 最左邊的值了 definition for a binary t...