原创 82.刪除排序鏈表中的重複元素II

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

原创 61.旋轉鏈表

61.旋轉鏈表 題目描述 給定一個鏈表,旋轉鏈表,將鏈表每個節點向右移動 k 個位置,其中 k 是非負數。 示例 1: 輸入: 1->2->3->4->5->NULL, k = 2 輸出: 4->5->1->2->3->NULL

原创 19.刪除鏈表的倒數第N個節點

19.刪除鏈表的倒數第N個節點 題目描述 給定一個鏈表,刪除鏈表的倒數第 n 個節點,並且返回鏈表的頭結點。 示例: 給定一個鏈表: 1->2->3->4->5, 和 n = 2. 當刪除了倒數第二個節點後,鏈表變爲 1->2->

原创 2.兩數相加

2.兩數相加 題目描述 給出兩個 非空 的鏈表用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式存儲的,並且它們的每個節點只能存儲 一位 數字。 如果,我們將這兩個數相加起來,則會返回一個新的鏈表來表示它們的和。 您

原创 98.驗證二叉搜索樹

98.驗證二叉搜索樹 題目描述 給定一個二叉樹,判斷其是否是一個有效的二叉搜索樹。 假設一個二叉搜索樹具有如下特徵: 節點的左子樹只包含小於當前節點的數。 節點的右子樹只包含大於當前節點的數。 所有左子樹和右子樹自身必須也是二叉搜

原创 面試題09.用兩個棧實現隊列

面試題09.用兩個棧實現隊列 題目描述 用兩個棧實現一個隊列。隊列的聲明如下,請實現它的兩個函數 appendTail 和 deleteHead ,分別完成在隊列尾部插入整數和在隊列頭部刪除整數的功能。(若隊列中沒有元素,dele

原创 面試題24.反轉鏈表

面試題24.反轉鏈表 題目描述 定義一個函數,輸入一個鏈表的頭節點,反轉該鏈表並輸出反轉後鏈表的頭節點。 示例: 輸入: 1->2->3->4->5->NULL 輸出: 5->4->3->2->1->NULL 限制: 0 <= 節

原创 面試題28.對稱的二叉樹

面試題28.對稱的二叉樹 題目描述 請實現一個函數,用來判斷一棵二叉樹是不是對稱的。如果一棵二叉樹和它的鏡像一樣,那麼它是對稱的。 例如,二叉樹 [1,2,2,3,4,4,3] 是對稱的。 示例 1: 輸入:root = [1,

原创 面試題29.順時針打印矩陣

面試題29.順時針打印矩陣 題目描述 輸入一個矩陣,按照從外向裏以順時針的順序依次打印出每一個數字。 示例 1: 輸入:matrix = [[1,2,3],[4,5,6],[7,8,9]] 輸出:[1,2,3,6,9,8,7,4,

原创 Linux學習筆記1

Linux學習筆記1 基礎指令: 格式:#指令主體 [選項] [操作對象] 一個指令可以包含多個選項 操作對象也可以是多個 1、 ls指令 含義:ls(list) #ls :列出當前工作目錄下的所有文件和文件夾名稱 #ls 路徑:

原创 面試題58 - II.左旋轉字符串

面試題58 - II.左旋轉字符串 題目描述 字符串的左旋轉操作是把字符串前面的若干個字符轉移到字符串的尾部。請定義一個函數實現字符串左旋轉操作的功能。比如,輸入字符串"abcdefg"和數字2,該函數將返回左旋轉兩位得到的結果"

原创 面試題04.二維數組中的查找

面試題04.二維數組中的查找 題目描述 在一個 n * m 的二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。 示例:

原创 面試題55-I.二叉樹的深度

面試題55-I.二叉樹的深度 題目描述 輸入一棵二叉樹的根節點,求該樹的深度。從根節點到葉節點依次經過的節點(含根、葉節點)形成樹的一條路徑,最長路徑的長度爲樹的深度。 例如: 給定二叉樹 [3,9,20,null,null,15