雙指標相關演算法
一、使用雙指標的場景
1、第一個指標和第二個指標不同步的時候需要使用雙指標
2、分別使用雙指標指向頭和尾
二、雙指標的型別
1、陣列使用雙指標
注:使用下標作為指標
給定一個陣列 nums,編寫一個函式將所有 0 移動到陣列的末尾,同時保持非零元素的相對順序。
示例:
輸入: [0,1,0,3,12]
輸出: [1,3,12,0,0]
class Solution {
public void moveZeroes(int[] nums) {
int j = 0;
for(int i = 0; i< nums.length; i++){
if(nums[i]!=0){
nums[j++] = nums[i];
}
}
for(int i = j; j < nums.length; j++){
nums[j] = 0;
}
}
}
2、單連結串列使用雙指標
注:使用單連結串列的節點作為指標
例題:實現一種演算法,找出單向連結串列中倒數第 k 個節點。返回該節點的值。
輸入: 1->2->3->4->5 和 k = 2
輸出: 4
class Solution {
public int kthToLast(ListNode head, int k) {
ListNode firstNode = head;
ListNode secondNode = head;
while(k-- > 0){
firstNode = firstNode.next;
}
while(firstNode!=null){
firstNode = firstNode.next;
secondNode = secondNode.next;
}
return secondNode.val;
}
}
相關文章
- 指標相關指標
- 演算法-雙指標演算法指標
- 雙指標法相關的題指標
- 壓力測試相關指標指標
- 雙指標指標
- 常見演算法技巧之——雙指標思想演算法指標
- 雙指標法指標
- 【原創】淺談指標(九)二維陣列和多級指標相關指標陣列
- 【原創】淺談指標(七)字串相關(詳細版本)與指標運算指標字串
- 雙指標演算法基本原理和實踐指標演算法
- 雙指標演算法的一個簡單題解指標演算法
- 【原創】淺談指標(八)字串相關函式(下集)指標字串函式
- 任務運維和資料指標相關知多少?運維指標
- 關於指標指標
- 雙指標維護筆記指標筆記
- 雙指標習題:Kalindrome Array指標
- 6.12.雙指標專題指標
- 快慢指標演算法指標演算法
- [藍橋杯][演算法提高VIP]最大乘積 貪心 雙指標演算法指標
- (Day9)演算法復健運動for藍橋杯-雙指標演算法指標
- 雙指標妙解三數之和指標
- 滑動視窗與雙指標指標
- 靈茶山艾府-相向雙指標指標
- 「LeetCode Top100」之雙指標LeetCode指標
- mybaties 標籤相關BAT
- Vue原始碼學習(十五):diff演算法(二)交叉比對(雙指標)Vue原始碼演算法指標
- LC演算法技巧總結(二):雙指標和滑動視窗技巧演算法指標
- lc 763.劃分字母區間(字串,雙指標)【***貪心演算法】字串指標演算法
- 圖解兩數之和:雙指標法圖解指標
- Lca相關演算法演算法
- html文字相關標籤HTML
- 關於函式指標函式指標
- 力扣之迴文數(雙指標中的對撞指標公式模板)力扣指標公式
- 效能測試指標演算法指標演算法
- LeetCode解題記錄(雙指標專題)LeetCode指標
- 立創 eda 標號相關
- 有關this指標指向問題指標
- Floyd 迴圈檢測演算法(快慢指標法/龜兔指標法)演算法指標