原创 結構體、位段(位域)、聯合體、枚舉類型大小計算及分析

1.結構體 void test1() { typedef struct { int i; }s; typedef struct { char c1;//1 char c2;//1 int i;//4

原创 “迴文串”是一個正讀和反讀都一樣的字符串,比如“level”或者“noon”等等就是迴文串。花花非常喜歡這種擁有對稱美的迴文串,生日的時候她得到兩個禮物分別是字符串A和字符串B。

1.題目描述 “迴文串”是一個正讀和反讀都一樣的字符串,比如“level”或者“noon”等等就是迴文串。 花花非常喜歡這種擁有對稱美的迴文串,生日的時候她得到兩個禮物分別是字符串A和字符串B。 現在她非常好奇有沒有辦法將字符串B

原创 洗牌在生活中十分常見,現在需要寫一個程序模擬洗牌的過程。 現在需要洗2n張牌,從上到下依次是第1張,第2張,第3張一直到第2n張。

1.題目描述 題目描述 洗牌在生活中十分常見,現在需要寫一個程序模擬洗牌的過程。 現在需要洗2n張牌,從上到下依次是第1張,第2張,第3張一直到第2n張。首先,我們把這2n張牌分成兩堆,左手拿着第1張到第n張(上半堆),右手拿着第

原创 【C++學習筆記】----模擬實現vector容器(詳解常見方法實現)

1.簡介 概念:vector是一種可變大小的容器,物理上是一段連續的空間,和數組相比,它可以實現按需增長,十分好用,和list相比,vector可以直接訪問任意位置的元素,不足的是,除尾插尾刪之外的插入和刪除,效率比較差。 結構:

原创 【C++學習筆記】----詳解虛函數相關問題(多態,覆蓋(重寫),隱藏(重定義),切片,虛函數表)

1.常見問題 1.什麼是多態? 多態是不同對象調用同一個函數,產生不同的結果(狀態), 例如買票函數,大人->全價,小孩->半價。 2.多態實現的原理? 基類的引用或者指針調用虛函數。 被調用的函數必須是虛函數,派生類的虛函數必須

原创 【C++學習筆記】----內存管理(new、delete、malloc、free、內存分佈圖、各數據所在區域。)

1.常見面試題 1.new和malloc,delete和free的區別? new和delete,malloc和free 首先new 和 delete是關鍵字(操作符),而malloc和free是函數。 new會初始化對象,mall

原创 【C++學習筆記】----模擬實現string類及成員函數(詳解)

1.簡介 string類是表示字符串的字符類,是一塊連續的空間存儲字符串,並且可以通過統一接口,實現插入,刪除,尾插,查找,迭代器遍歷等一系列操作。 2.代碼展示 #define _CRT_SECURE_NO_WARNINGS 1

原创 【C++學習筆記】----模板初階(函數模板、類模板)

1.代碼展示 #define _CRT_SECURE_NO_WARNINGS 1 #include<iostream> using namespace std; //函數模板 int add(int x, int y) { re

原创 【C++學習筆記】----詳解菱形繼承(虛擬繼承)

1.菱形的相關問題 1.什麼是菱形繼承? 菱形繼承是C++繼承中的多繼承出現的問題。 2.菱形繼承帶來什麼問題,如何解決? 帶來數據二義性,和數據冗餘問題。 二義性可以通過作用域限定符,限定所操作的數據對象。 數據冗餘問題,需要通

原创 A,B,C三個人是好朋友,每個人手裏都有一些糖果,我們不知道他們每個人手上具體有多少個糖果,但是我們知道以下的信息:

1.題目描述 A,B,C三個人是好朋友,每個人手裏都有一些糖果,我們不知道他們每個人手上具體有多少個糖果,但是我們知道以下的信息: A - B, B - C, A + B, B + C. 這四個數值.每個字母代表每個人所擁有的糖果

原创 給定一個字符串 s 和一個整數 k,你需要對從字符串開頭算起的每隔 2k 個字符的前 k 個字符進行反轉。

1.題目 給定一個字符串 s 和一個整數 k,你需要對從字符串開頭算起的每隔 2k 個字符的前 k 個字符進行反轉。 如果剩餘字符少於 k 個,則將剩餘字符全部反轉。 如果剩餘字符小於 2k 但大於或等於 k 個,則反轉前 k 個

原创 字符串的最後一個單詞的長度

1.題目 題目描述 計算字符串最後一個單詞的長度,單詞以空格隔開。 輸入描述: 一行字符串,非空,長度小於5000。 輸出描述: 整數N,最後一個單詞的長度。 示例1 輸入 hello world 輸出 5 2.代碼展示 #inc

原创 輸入兩個字符串,從第一字符串中刪除第二個字符串中所有的字符。 例如,輸入”They are students.”和”aeiou”,則刪除之後的第一個字符串變成”Thy r stdnts.”

1.題目 輸入兩個字符串,從第一字符串中刪除第二個字符串中所有的字符。 例如,輸入”They are students.”和”aeiou”,則刪除之後的第一個字符串變成”Thy r stdnts.” 輸入描述 : 每個測試輸入包含

原创 給定一個字符串,你需要反轉字符串中每個單詞的字符順序,同時仍保留空格和單詞的初始順序。

1.題目 給定一個字符串,你需要反轉字符串中每個單詞的字符順序,同時仍保留空格和單詞的初始順序。 示例 1: 輸入: “Let’s take LeetCode contest” 輸出: “s’teL ekat edoCteeL t

原创 給定一個非負整數 numRows,生成楊輝三角的前 numRows 行。

1.題目 給定一個非負整數 numRows,生成楊輝三角的前 numRows 行。 2.代碼展示 class Solution { public: vector<vector<int>> generate(int num