原创 LeetCode 392——判斷子序列

一、題目介紹 給定字符串 s 和 t ,判斷 s 是否爲 t 的子序列。 你可以認爲 s 和 t 中僅包含英文小寫字母。字符串 t 可能會很長(長度 ~= 500,000),而 s 是個短字符串(長度 <=100)。 字符串的一個子序列是

原创 C++ strcpy函數實現

已知strcpy的函數原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串。不調用C++/C 的字符串庫函數,請編寫函數 strcp

原创 LeetCode 404——左葉子之和(遞歸)

一、題目介紹 計算給定二叉樹的所有左葉子之和。 示例:     3    / \   9  20     /  \    15   7 在這個二叉樹中,有兩個左葉子,分別是 9 和 15,所以返回 24 來源:力扣(LeetCode) 鏈

原创 LeetCode 401——二級制手錶

一、題目介紹 二進制手錶頂部有 4 個 LED 代表小時(0-11),底部的 6 個 LED 代表分鐘(0-59)。 每個 LED 代表一個 0 或 1,最低位在右側。 例如,上面的二進制手錶讀取 “3:25”。 給定一個非負整數 n 

原创 C++ 中重載、重寫、覆蓋和隱藏之間的區別

(1)重載:函數名相同,函數的參數類型和個數不同,注意與函數的返回值類型無關,重載必須在同一個類中。 (2)重寫與覆蓋意義相同:在繼承和派生的時候纔可能出現,重寫(覆蓋)是指在派生類中存在重新定義的函數,其函數名、參數類型和數量必須與基類

原创 LeetCode 1248——統計「優美子數組」

一、題目介紹 給你一個整數數組 nums 和一個整數 k。 如果某個 連續 子數組中恰好有 k 個奇數數字,我們就認爲這個子數組是「優美子數組」。 請返回這個數組中「優美子數組」的數目。   示例 1: 輸入:nums = [1,1,2,

原创 LeetCode 199——二叉樹的右視圖(BFS)

一、題目介紹 給定一棵二叉樹,想象自己站在它的右側,按照從頂部到底部的順序,返回從右側所能看到的節點值。 示例: 輸入: [1,2,3,null,5,null,4] 輸出: [1, 3, 4] 解釋:    1            <-

原创 程序員面試金典——面試題01.07.旋轉矩陣——找規律

一、題目介紹 給你一幅由 N × N 矩陣表示的圖像,其中每個像素的大小爲 4 字節。請你設計一種算法,將圖像旋轉 90 度。 不佔用額外內存空間能否做到?   示例 1: 給定 matrix =  [   [1,2,3],   [4,5

原创 程序員面試金典——面試題01.02.判斷是否互爲字符重排

一、題目介紹 給定兩個字符串 s1 和 s2,請編寫一個程序,確定其中一個字符串的字符重新排列後,能否變成另一個字符串。 示例 1: 輸入: s1 = "abc", s2 = "bca" 輸出: true  示例 2: 輸入: s1 =

原创 程序員面試金典——面試題01.01.判斷字符是否唯一

一、題目介紹 實現一個算法,確定一個字符串 s 的所有字符是否全都不同。 示例 1: 輸入: s = "leetcode" 輸出: false  示例 2: 輸入: s = "abc" 輸出: true 限制: 0 <= len(s) <

原创 程序員面試金典——面試題01.05.一次編輯

一、題目介紹 字符串有三種編輯操作:插入一個字符、刪除一個字符或者替換一個字符。 給定兩個字符串,編寫一個函數判定它們是否只需要一次(或者零次)編輯。   示例 1: 輸入:  first = "pale" second = "ple"

原创 程序員面試金典——面試題01.03.URL化

一、題目介紹 URL化。編寫一種方法,將字符串中的空格全部替換爲%20。假定該字符串尾部有足夠的空間存放新增字符,並且知道字符串的“真實”長度。(注:用Java實現的話,請使用字符數組實現,以便直接在數組上操作。) 示例1:  輸入:"M

原创 程序員面試金典——面試題01.04.迴文排列

一、題目介紹 給定一個字符串,編寫一個函數判定其是否爲某個迴文串的排列之一。 迴文串是指正反兩個方向都一樣的單詞或短語。排列是指字母的重新排列。 迴文串不一定是字典當中的單詞。   示例1: 輸入:"tactcoa" 輸出:true(排列

原创 程序員面試金典——面試題01.06.字符串壓縮

一、題目介紹 字符串壓縮。利用字符重複出現的次數,編寫一種方法,實現基本的字符串壓縮功能。比如,字符串aabcccccaaa會變爲a2b1c5a3。若“壓縮”後的字符串沒有變短,則返回原先的字符串。你可以假設字符串中只包含大小寫英文字母(

原创 C++引用介紹

C++引用介紹1、什麼是引用?2、引用的特性3、引用是否佔內存?4、引用的本質5、引用的應用 1、什麼是引用?   某一個變量或者對象的別名,對引用的操作與對其綁定的變量或者對象的操作完全等價。 2、引用的特性 使用&符號,聲明