LeetCode Symmetric Tree:鏡像對稱二元樹的遞迴與迭代雙重解法
「Symmetric Tree」要求判斷一棵二元樹是否為鏡像對稱(即以根節點為軸,左子樹與右子樹結構與值皆互為鏡像)。本質上是將「Same Tree」的比對對象
LeetCode Same Tree:遞迴判斷二元樹結構與節點值完全相同
「Same Tree」是二元樹遞迴的入門經典題目:給定兩棵二元樹根節點 p、q,判斷它們是否「完全相同」——結構相同且對應節點值相同。解法直觀,卻完整涵蓋樹形遞
C++ 字串分割實作:手寫 split 功能替代 Java String.split 的三種主流做法
C++ 標準庫 std::string 並未內建 split 方法,開發者常需自行實作字串分割。本文整理三種主流做法,並針對效能、記憶體安全與易用性進行比較,助
分數化簡至最簡形式:輾轉相除法求最大公因數的 C++ 實作詳解
「分數化簡」是國中數學基本功,對應到程式設計即是「求最大公因數(GCD)」的經典應用。本題要求將任意分子、分母(1~10000)約分至最簡形式,輸出格式為 分子
C++ 虛函數實戰:動物叫聲多型設計與抽象類重構全攻略
「虛函數-動物的叫聲」是 C++ 物件導向教學中的經典範例,完整展示了從具體基類到抽象類的演進、虛函數多型機制、以及共同資料成員上移至基類的重構技巧。本文將依題
HDU 1263 水果銷售統計:結構體排序與分組輸出實戰解析
在競程世界裡,HDU 1263「水果」是一道經典的入門級題目,主要考察結構體排序、字串處理以及分組統計的邏輯。題目背景設定為 Joe 經營水果店,需要依據交易記
通用 C++ 專案 Makefile 模板:從 NetBeans 提取的跨平台構建腳本
為什麼要手寫/維護 Makefile? IDE 無關:VS、CLion、VS Code、Vim 均可直接 make。 可重現構建:編譯選項、鏈接順序、
C++ 多態經典範例:Animal 基類與派生類的虛函數 cry() 實現動物叫聲
設計目標 展示 C++ 運行期多態:基類指針指向不同派生對象,調用同名虛函數 cry() 產生不同行為。 類層次結構 Animal(基類):純虛/虛函數
LeetCode 47. Permutations II — 全排列去重:DFS + 排序剪枝
題目要求 給定可包含重複數字的序列 num,返回所有不重複的全排列。 核心思想:排序 + 「同層去重」 先排序,使相同元素相鄰。 DFS 構建排列時
C++ 基類指針訪問成員函數:從靜態綁定到虛函數動態多態的完整對比
現象重現 同 218312,基類 Vehicle、派生 Car/Airplane 皆有 run()。先展示無 virtual 時的輸出: (a) 直接用對象訪
C++ 虛函數機制演示:基類指針調用派生類成員函數的多態行為
代碼場景 基類 Vehicle、派生類 Car、Airplane 均有 run() 方法。分別用對象直接調用、基類指針指向派生對象調用,觀察輸出差異。 無 v
log1p(x) 高精度實現原理:GSL 源碼解析與浮點數誤差消除
為什麼需要 log1p? 當 |x| ≪ 1 時,1+x 在浮點數中會發生吸收誤差:y = 1 + x 實際存儲為 1 + x,其中 x 是對齊小數點後保留的有
C++ this 指針深度解析:隱含傳遞、自我賦值檢查與鏈式調用
什麼是 this 指針? 每個非靜態成員函數被調用時,編譯器會隱含傳遞一個指向「調用該函數的對象」的指針 —— this。它的類型是 ClassName* co
HDOJ 1181 單詞接龍 — DFS 深搜尋找 b→m 路徑
題目大意 給定一組單詞(以 0 結束),判斷能否用這些單詞首尾相連,組成一條從「b 開頭」到「m 結尾」的鏈。每個單詞最多用一次。多組測資。 建模:有向圖找路
POJ 3294 Life Forms — 後綴數組 + LCP + 二分查找最長公共子串
問題重述 給定 n (≤ 100) 條 DNA 序列(小寫字母),總長 ≤ 250,000。找出在 超過一半 序列中都出現的最長子串;若有多解按字典序輸出,無解
io_service 核心機制與多線程模式全解析