定義
// definition for singly-linked list.
struct listnode
listnode
(int x)
:val
(x),
next
(nullptr)
listnode
(int x, listnode *next)
:val
(x),
next
(next)
};
listnode node = listnode();
一般以指標定義。
建立簡單鍊錶
// this program illustrates the creation || of linked lists.
#include
using namespace std;
struct listnode
;int
main()
遍歷結點listnode *ptr = head;
while
(ptr != nullptr)
先把鍊錶指向開頭,然後向後移動直到終結點。
只要有節點的向後移動,在判斷裡一定要加是否為空! 並且空指標是沒有val值的
基本用法
判斷字元是不是數字,大寫,小寫
/* 用ascii碼判斷,比如48-57的ascii碼是0-9數字 */
// if((s[i]>='a' && s[i]<='z') || (s[i]>='a' && s[i]<='z'))
int tmp =
(int
)str[i];if
(tmp >=
48&& tmp <=57)
else
/* 用c++提供的stringstream物件 */
#include
string string
("aabb112");
bool flag1 =
isdigit
(string[6]
);bool flag2 =
isalpha
(string[6]
);bool flag3 =
isupper
(string[6]
);bool flag4 =
islower
(string[6]
);bool flag5 =
isalnum
(string[6]
);
大小寫轉換
#include
char a =
toupper
(string[2]
);char b =
tolower
(string[1]
);
反轉字串
reverse(str.begin(), str.end());
leetcode刷題 資料結構(1) 鍊錶
鍊錶 1.找出兩個鍊錶的交點 第一次可做出,解法可優化 2.鍊錶反轉 遞迴 迭代 兩種方法 3.歸併兩個有序的鍊錶 可做出經典題型,兩種方法需掌握 4.從有序鍊錶中刪除重複節點 第一次可做出ok 5.刪除鍊錶的倒數第 n 個節點 第一次可做出ok 6.交換鍊錶中的相鄰結點 思考後可做出 解法可簡化 ...
資料結構刷題 剪枝
在刷題中會遇到,比如二叉樹問題中會遇到剪枝的問題,我們需要,研究一下什麼是剪枝 剪枝可謂是搜尋的靈魂所在,我們知道搜尋是個愣頭青小伙,一路撞到底可能都撞不到答案,他還可能要撞很多次。所以有什麼方法可以讓他撞的次數少一點呢?我們知道搜尋會形成乙個搜尋樹,這其中有很多的枝杈,但是他們中許多其實是無用或者...
資料結構刷題 陣列
給定乙個矩陣 a,返回 a 的轉置矩陣。先建立乙個與原始矩陣行列數互換的新矩陣 做兩個迴圈巢狀,內迴圈遍歷原始矩陣的行轉列,外矩陣遍歷原始矩陣的列 class solution return v 逐行的細緻解釋 vector 建立了二維陣列,兩個空格可以在c 11標準中可以剔除 a 0 size 獲...