原创 尋找重複子樹

給定一棵二叉樹,返回所有重複的子樹。對於同一類的重複子樹,你只需要返回其中任意一棵的根結點即可。 兩棵樹重複是指它們具有相同的結構以及相同的結點值。 算法 使用深度優先搜索,其中遞歸函數返回當前子樹的序列化結果。把每個節點開始的

原创 祖父節點值爲偶數的節點和

給你一棵二叉樹,請你返回滿足以下條件的所有節點的值之和: 該節點的祖父節點的值爲偶數。(一個節點的祖父節點是指該節點的父節點的父節點。) 如果不存在祖父節點值爲偶數的節點,那麼返回 0 算法 dfs /** * Definit

原创 數組中數字出現的次數 ll

在一個數組 nums 中除一個數字只出現一次之外,其他數字都出現了三次。請找出那個只出現一次的數字。 示例 1: 輸入:nums = [3,4,3,3] 輸出:4 示例 2: 輸入:nums = [9,1,7,9,7,9,7] 輸

原创 數組中數字出現的次數 l

一個整型數組 nums 裏除兩個數字之外,其他數字都出現了兩次。請寫程序找出這兩個只出現一次的數字。要求時間複雜度是O(n),空間複雜度是O(1)。 示例 1: 輸入:nums = [4,1,4,6] 輸出:[1,6] 或 [6,

原创 二叉樹中的列表

給你一棵以 root 爲根的二叉樹和一個 head 爲第一個節點的鏈表。 如果在二叉樹中,存在一條一直向下的路徑,且每個點的數值恰好一一對應以 head 爲首的鏈表中每個節點的值,那麼請你返回 True ,否則返回 False 。

原创 從鏈表中刪去總和值爲零的連續節點

給你一個鏈表的頭節點 head,請你編寫代碼,反覆刪去鏈表中由 總和 值爲 0 的連續節點組成的序列,直到不存在這樣的序列爲止。 刪除完畢後,請你返回最終結果鏈表的頭節點。 你可以返回任何滿足題目要求的答案。 (注意,下面示例中的

原创 所有可能的滿二叉樹

滿二叉樹是一類二叉樹,其中每個結點恰好有 0 或 2 個子結點。 返回包含 N 個結點的所有可能滿二叉樹的列表。 答案的每個元素都是一個可能樹的根結點。 答案中每個樹的每個結點都必須有 node.val=0。 你可以按任何順序返回

原创 翻轉等價二叉樹

我們可以爲二叉樹 T 定義一個翻轉操作,如下所示:選擇任意節點,然後交換它的左子樹和右子樹。 只要經過一定次數的翻轉操作後,能使 X 等於 Y,我們就稱二叉樹 X 翻轉等價於二叉樹 Y。 編寫一個判斷兩個二叉樹是否是翻轉等價的函數

原创 sql語句大全+實例講解

1.創建3張表 //學生表創建 CREATE table student( Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) UNIQUE, Ssex char(2), Sage SMALLINT,

原创 IDEA裏DeBug快捷鍵

①步入 F7 作用:一步一步走,進入方法體內部 ②步過 F8 作用:一步一步走,不進入方法體內部 ③強制步入 Alt+Shift+F7 作用:進入官方類庫方法,查看JDK源碼 ④步出 Shift+F8 作用:從方法內退出到

原创 LeetCode刷題日記(Java)

爆肝更新中。。。 鏈表 二叉搜索樹 動態規劃

原创 刪除排序鏈表中的重複元素 ll

給定一個排序鏈表,刪除所有含有重複數字的節點,只保留原始鏈表中 沒有重複出現 的數字。 示例 1: 輸入: 1->2->3->3->4->4->5 輸出: 1->2->5 示例 2: 輸入: 1->1->1->2->3 輸出: 2

原创 有序鏈表轉換爲二叉搜索樹

給定一個單鏈表,其中的元素按升序排序,將其轉換爲高度平衡的二叉搜索樹。 本題中,一個高度平衡二叉樹是指一個二叉樹每個節點 的左右兩個子樹的高度差的絕對值不超過 1。 示例: 給定的有序鏈表: [-10, -3, 0, 5, 9],

原创 反轉鏈表 ll

反轉從位置 m 到 n 的鏈表。請使用一趟掃描完成反轉。 說明: 1 ≤ m ≤ n ≤ 鏈表長度。 示例: 輸入: 1->2->3->4->5->NULL, m = 2, n = 4 輸出: 1->4->3->2->5->NUL

原创 計蒜客算法刷題記(C++)

螞蟻感冒 奇怪的分式 翻硬幣 錯誤票據 高斯日記 三部排序 前綴判斷 第39階臺階 馬虎的算式 踏青 漢諾塔 蒜頭君吃桃 深度優先DFS 素數距離 蒜頭君的猜想 取石子游戲 兩儀劍法 n個計算和 任務系統 敲7 水果店 蒜頭君面試