LeetCode究極班系列 21 25

2021-10-09 23:53:25 字數 2490 閱讀 2360

將兩個公升序鍊錶合併為乙個新的 公升序 鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。

輸入:1->2->4, 1->3->4

輸出:1->1->2->3->4->4

class

solution

l2->next=

mergetwolists

(l1,l2-

>next)

;return l2;}}

;

class

solution

else

tmp=tmp-

>next;}if

(l1) tmp-

>next=l1;

if(l2) tmp-

>next=l2;

return res-

>next;}}

;

數字 n 代表生成括號的對數,請你設計乙個函式,用於能夠生成所有可能的並且 有效的 括號組合。

輸入:n = 3

輸出:[

「((()))」,

「(()())」,

「(())()」,

「()(())」,

「()()()」

]

分析 括號匹配問題的兩個準則

1 在任意字首中 做括號的數目嚴格大於右括號

2 左括號數目和有哦括號數目相同

class

solution

} vector

generateparenthesis

(int n)

};

給你乙個鍊錶陣列,每個鍊錶都已經按公升序排列。

請你將所有鍊錶合併到乙個公升序鍊錶中,返回合併後的鍊錶。

輸入:lists = [[1,4,5],[1,3,4],[2,6]]

輸出:[1,1,2,3,4,4,5,6]

解釋:鍊錶陣列如下:

[1->4->5,

1->3->4,

2->6

]將它們合併到乙個有序鍊錶中得到。

1->1->2->3->4->4->5->6

演算法描述 使用小根堆來維護所有煉表頭節點中的最小值 將他插入結果鍊錶即可

冷知識: 此處需要自定義比較函式 就寫乙個cmp結構體 過載() 然後由於是小根堆 就是a->val>b->val了

class

solution};

listnode*

mergeklists

(vector>

& lists)

return dummy-

>next;}}

;

給定乙個鍊錶,兩兩交換其中相鄰的節點,並返回交換後的鍊錶。

你不能只是單純的改變節點內部的值,而是需要實際的進行節點交換。

給定 1->2->3->4, 你應該返回 2->1->4->3.

class

solution

};

class

solution

return dummy-

>next;}}

;

給你乙個鍊錶,每 k 個節點一組進行翻轉,請你返回翻轉後的鍊錶。

k 是乙個正整數,它的值小於或等於鍊錶的長度。

如果節點總數不是 k 的整數倍,那麼請將最後剩餘的節點保持原有順序。

給你這個鍊錶:1->2->3->4->5

當 k = 2 時,應當返回: 2->1->4->3->5

當 k = 3 時,應當返回: 3->2->1->4->5

演算法描述: 先判斷是否存在k個節點 然後翻轉這k個節點 然後處理好頭和尾

class

solution

//處理頭和尾

auto c=p-

>next;

//c是反轉之後的k個節點的最後乙個節點 翻轉之前的第乙個節點

p->next=a,c-

>next=b;

//因為結束前面的k個節點的翻轉之後 a指向翻轉之後的k個節點的第乙個節點 也是翻轉之前的最後乙個節點 b指向下一組的第乙個節點

p=c;

}return dummy-

>next;}}

;

氣泡排序究極奧義

原理 兩個for迴圈,外層for迴圈控制比較輪數 趟數 內層for迴圈比較每一輪中的前後兩項 次數 內層for迴圈每比較一輪就產生乙個當前迴圈的最大值 由於個別陣列本身的排列的特殊性 導致根本不需要將所有的趟數都排列完才可以 如下陣列 只需要排列一次即可 var arr 2,1,3,4,5,6,7,...

KMP演算法 究極版

翁振宇 字串匹配 kmp演算法 演算法實現一 字串匹配的關鍵在於減少匹配次數。而kmp演算法的核心思想就是匹配陣列,根據匹配陣列的值來排程匹配字串的索引減少多餘的排程。匹配陣列就是字串具有的相同字首 字尾的最大值。比如對於字串 ababacbbb 有 ta baba cbbb 0next 10 01...

究極卡常神技

return x x p pchar buf 1 22 out 1 22 p1 buf,p2 buf ll p3 1,ff 0 define getchar p1 p2 p2 p1 buf fread buf,1,1 21,stdin p1 p2 eof p1 inline void flush i...