原创 劍指——58.二叉樹的下一個結點

58.二叉樹的下一個結點 題目描述 給定一個二叉樹和其中的一個結點,請找出中序遍歷順序的下一個結點並且返回。注意,樹中的結點不僅包含左右子結點,同時包含指向父結點的指針。 struct TreeLinkNode { in

原创 劍指——24.二叉樹的後序遍歷序列

24.二叉樹的後序遍歷序列 題目描述 輸入一個整數數組,判斷該數組是不是某二叉搜索樹的後序遍歷的結果。如果是則輸出Yes,否則輸出No。假設輸入的數組的任意兩個數字都互不相同。 class Solution { public:

原创 劍指——59.對稱的二叉樹

59.對稱的二叉樹 題目描述 請實現一個函數,用來判斷一顆二叉樹是不是對稱的。注意,如果一個二叉樹同此二叉樹的鏡像是同樣的,定義其爲對稱的。 struct TreeNode { int val; struct

原创 Java基礎API

Java基礎API 目錄: Scanner類 匿名對象 Random類 ArrayList集合 String類 static靜態 Arrays工具類 Math類 1.Scanner類 使用步驟: 1、導包:import jav

原创 多態與虛函數

多態與虛函數 在引入虛函數概念之前,我們先看這個例子 class Person { public: void BuyTickets() { cout << "person: 買票-全價" <

原创 C++多態對象模型

單繼承&多繼承 前面介紹的是單繼承,即一個類是從一個父類派生而來的。但實際上,常常有這樣的情況,一個子類有兩個或多個父類,子類從兩個或多個父類中繼承所需的屬性。 單繼承:一個子類只有一個直接父類。 多繼承:一個子類有兩個或兩個以

原创 繼承

繼承 簡單的繼承關係: 基類成員在派生類中的訪問屬性: 繼承方式 基類的public成員 基類的protected成員 基類的private成員 public繼承 仍爲public成員 仍爲protected成員

原创 鏈表面試題

鏈表面試題 基礎 1.比較順序表和鏈表的優缺點,說說它們分別在什麼場景下使用? 1.從尾到頭打印單鏈表 2.刪除一個無頭單鏈表的非尾節點 3.在無頭單鏈表的一個節點前插入一個節點 4.單鏈表實現約瑟夫環 5.

原创 軟件測試基礎-概念篇——慕課網

軟件測試基礎-概念篇——慕課網 測試用例 測試用例 = 輸入+輸出+測試環境 輸入:包括測試數據和操作步驟 輸出:指的是期望結果 測試環境:指的就是系統環境配置 4W :Why、When、Who、What Why(我們爲什麼

原创 LeetCode——24. 兩兩交換鏈表中的節點

24. 兩兩交換鏈表中的節點   給定一個鏈表,兩兩交換其中相鄰的節點,並返回交換後的鏈表。 示例: 給定 1->2->3->4, 你應該返回 2->1->4->3.  說明: 你的算法只能使用常數的額外空間。 你不能只是單純的改變

原创 LeetCode——454. 四數相加 II

454. 四數相加 II給定四個包含整數的數組列表 A , B , C , D ,計算有多少個元組 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。爲了使問題簡單化,所有的 A, B, C,

原创 LeetCode——349. 兩個數組的交集

349. 兩個數組的交集給定兩個數組,寫一個函數來計算它們的交集。例子: 給定 num1= [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].提示:每個在結果中的元素必定是唯一的。我們可以不考慮輸出結果的順序。返回

原创 String —— 深淺拷貝

String  —— 深淺拷貝          淺拷貝就是由默認的拷貝構造函數和賦值運算符重載所實現的數據成員逐一賦值。通常默認的函數是能夠勝任此工作的,但若類中含有指針類型的數據,這種按數據成員逐一賦值的方法將會產生錯誤。爲了解決淺拷

原创 LeetCode——350. 兩個數組的交集 II

350. 兩個數組的交集 II給定兩個數組,寫一個方法來計算它們的交集。例如:給定 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].注意:   輸出結果中每個元素出現的次數,應與元素在兩個數

原创 String —— 寫時拷貝技術(Copy-On-Write)

String —— 寫時拷貝技術(Copy-On-Write)1.往磁盤裏寫東西時,其實是先寫到內存,只有當我們關閉文件或刷新時,纔會真正寫到磁盤。2.把某個對象的值賦值給另一個變量時,這個變量默認指向與原來對象相同的空間,只有真正修改其