原创 AOSP源碼同步過程(完整教程)

AOSP源碼同步過程(官方) 第一步:安裝Repo Repo 是一款工具,可讓您在 Android 環境中更輕鬆地使用 Git。 Repo 分爲兩部分:第一部分是您安裝的啓動器腳本,它可以與第二部分(即包含在源代碼檢出中的完整

原创 移動零(Java的2種算法實現)

移動零 題目 移動零(力扣:283) 給定一個數組 nums,編寫一個函數將所有 0 移動到數組的末尾,同時保持非零元素的相對順序。 說明: 必須在原數組上操作,不能拷貝額外的數組。 儘量減少操作次數。 分析 使用雙指針解決。

原创 兩數之和 II - 輸入有序數組(Java實現)

兩數之和 II - 輸入有序數組 題目 給定一個已按照升序排列 的有序數組,找到兩個數使得它們相加之和等於目標數。 函數應該返回這兩個下標值 index1 和 index2,其中 index1 必須小於 index2。 說明:

原创 Java、Android的異常處理原理&Android Crash捕獲、分發及處理原理+實戰詳解

Java異常及異常處理 我們首先來看Java的異常及異常處理。 Java異常分類 可查的異常(checked exceptions): 編譯器要求必須處置的異常(使用 try…catch…finally 或者 throws

原创 移除元素(Java算法實現)

移除元素 題目 移除元素(力扣:27) 給你一個數組 nums 和一個值 val,你需要 原地 移除所有數值等於 val 的元素,並返回移除後數組的新長度。 不要使用額外的數組空間,你必須僅使用 O(1) 額外空間並 原地 修改

原创 合併兩個有序數組(Java原址實現)

合併兩個有序數組 題目 合併兩個有序數組(力扣:88) 給你兩個有序整數數組 nums1 和 nums2,請你將 nums2 合併到 nums1 中,使 nums1 成爲一個有序數組。 說明: 初始化 nums1 和 nums2

原创 反轉字符串(Java實現)

反轉字符串 題目 反轉字符串(力扣:344) 編寫一個函數,其作用是將輸入的字符串反轉過來。輸入字符串以字符數組 char[] 的形式給出。 不要給另外的數組分配額外的空間,你必須原地修改輸入數組、使用 O(1) 的額外空間解決

原创 相交鏈表(Java 常規方法+最簡單方法)

相交鏈表 題目 相交鏈表(力扣:160) 編寫一個程序,找到兩個單鏈表相交的起始節點。 分析 常規解法:計算出兩個鏈表的長度,然後算出長度差cha;讓長度較長的鏈表先走cha步,這樣就補齊了兩個鏈表之間長度的差異,最後向後遍歷,

原创 兩個數組的交集(Java的2種算法實現)

兩個數組的交集 題目 兩個數組的交集(力扣:349) 給定兩個數組,編寫一個函數來計算它們的交集。 說明: 輸出結果中的每個元素一定是唯一的。 我們可以不考慮輸出結果的順序。 分析 本題的要點是: 找到交集元素。 結果要去重。

原创 最長同值路徑

最長同值路徑 題目 最長同值路徑(力扣:687) 給定一個二叉樹,找到最長的路徑,這個路徑中的每個節點具有相同值。 這條路徑可以經過也可以不經過根節點。注意:兩個節點之間的路徑長度由它們之間的邊數表示。 分析 遍歷二叉樹,分別

原创 員工的重要性(力扣:690)

員工的重要性 題目 員工的重要性(力扣:690) 給定一個保存員工信息的數據結構,它包含了員工唯一的id,重要度 和 直系下屬的id。 比如,員工1是員工2的領導,員工2是員工3的領導。他們相應的重要度爲15, 10, 5。那麼

原创 第 N 個泰波那契數

第 N 個泰波那契數 題目 第 N 個泰波那契數(力扣:1137) 泰波那契序列 Tn 定義如下: T0 = 0, T1 = 1, T2 = 1, 且在 n >= 0 的條件下 Tn+3 = Tn + Tn+1 + Tn+2 給你

原创 二叉搜索樹的最近公共祖先、二叉樹的最近公共祖先

目錄 二叉搜索樹的最近公共祖先(力扣:235) 二叉樹的最近公共祖先(力扣:236) 二叉搜索樹的最近公共祖先 題目 二叉搜索樹的最近公共祖先(力扣:235) 給定一個二叉搜索樹, 找到該樹中兩個指定節點的最近公共祖先。 分

原创 從根到葉的二進制數之和

從根到葉的二進制數之力扣 題目 從根到葉的二進制數之和(力扣:1022 ) 給出一棵二叉樹,其上每個結點的值都是 0 或 1 。每一條從根到葉的路徑都代表一個從最高有效位開始的二進制數。例如,如果路徑爲 0 -> 1 -> 1

原创 N叉樹的前序遍歷

N叉樹的前序遍歷 題目 N叉樹的前序遍歷(力扣:589) 給定一個 N 叉樹,返回其節點值的前序遍歷。 分析 兩種方式實現: 遞歸:遞歸非常簡單即可實現。優先輸出當前節點,然後遍歷孩子節點,最後返回結果即可。 迭代:通過棧來輔助