動態
列表可視化圖解算法29:合併二叉樹
1. 題目 描述 已知兩顆二叉樹,將它們合併成一顆二叉樹。合併規則是:都存在的結點,就將結點值加起來,否則空的位置就由另一個樹的結點來代替。例如: 數據範圍:樹上節點數量滿足 0 ≤n≤500,樹上節點的值一定在32位整型範圍內。 進階:空間複雜度 O(1) ,時間複雜度 O(n) 示例1 輸入: {1,3,2,5},{2,1,3,#,4,#,7} 返回值: {3,4,5,5,4,#,7}
可視化圖解算法34:二叉搜索樹的最近公共祖先
1. 題目 描述 給定一個二叉搜索樹, 找到該樹中兩個指定節點的最近公共祖先。 1.對於該題的最近的公共祖先定義:對於有根樹T的兩個節點p、q,最近公共祖先LCA(T,p,q)表示一個節點x,滿足x是p和q的祖先且x的深度儘可能大。在這裏,一個節點也可以是它自己的祖先. 2.二叉搜索樹是若它的左子樹不空,則左子樹上所有節點的值均小於它的根節點的值; 若它的右子樹不空,則右子樹上所有節點的值均大於它
可視化圖解算法35:在二叉樹中找到兩個節點的最近公共祖先(二叉樹的最近公共祖先)
1. 題目 描述 給定一棵二叉樹(保證非空)以及這棵樹上的兩個節點對應的val值 o1 和 o2,請找到 o1 和 o2 的最近公共祖先節點。 數據範圍:樹上節點數滿足 1≤n≤10^5^ , 節點值val滿足區間 [0,n) 要求:時間複雜度 O(n) 注:本題保證二叉樹中每個節點的val值均不相同。 如當輸入{3,5,1,6,2,0,8,#,#,7,4},5,1時,二叉樹{3,5,1,6,2,