小白的LeetCode日記記錄Day3
11.刪除連結串列的節點
給定單向連結串列的頭指標和一個要刪除的節點的值,定義一個函式刪除該節點。
返回刪除後的連結串列的頭節點。
解法:首先考慮特殊情況,如果頭結點為要刪除的值就直接返回頭結點下一個節點。否則建立兩個指標,pre和cur,pre代表當前節點的上一個節點,cur代表當前節點。之後運用迴圈找到該節點,刪除該節點
pre.next = cur.next
最後返回頭結點
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public ListNode deleteNode(ListNode head, int val) {
if(head.val==val)
return head.next;
ListNode pre=head,cur=head.next;
while(cur!=null&&cur.val!=val){
pre = cur;
cur = cur.next;
}
if(cur!=null){
pre.next = cur.next;
}
return head;
}
}
12.調整陣列順序使奇數位於偶數前面
輸入一個整數陣列,實現一個函式來調整該陣列中數字的順序,使得所有奇數位於陣列的前半部分,所有偶數位於陣列的後半部分。
解法:準備兩個指標left和right,left在最左邊,right在最右邊,left從左往右找到偶數停下,right從右往左找到奇數停下,之後進行交換,迴圈此過程最後輸出陣列。
class Solution {
public int[] exchange(int[] nums) {
int left=0,right=nums.length-1,temp;
while(left<right){
while(left<right&&nums[left]%2==1){
left++;
}
while(left<right&&nums[right]%2==0){
right--;
}
temp = nums[left];
nums[left] = nums[right];
nums[right] = temp;
}
return nums;
}
相關文章
- LeetCode刷題記錄——day3LeetCode
- Java小白的學習日記一(自用筆記)Java筆記
- 【新手小白刷leetcode記錄貼】 1.兩數之和LeetCode
- Day3晚筆記筆記
- 小白的學習記錄——Redis的簡單使用Redis
- 日誌記錄器
- db2不記錄日誌插入記錄DB2
- php日誌,記錄日誌PHP
- LeetCode刷題記錄LeetCode
- day 1 c++小白學習記錄C++
- 使用 .NET Core 的日誌記錄
- Laravel sql 日誌記錄LaravelSQL
- secureCRT記錄操作日誌Securecrt
- 記錄日誌檔案
- PHP日誌記錄方法PHP
- oracle日誌操作記錄Oracle
- 搬磚日記目錄
- Leetcode 記錄 不會解的題LeetCode
- Linux小白菜嘗試寫學習筆記日記Linux筆記
- Python leetcode tree記錄PythonLeetCode
- leetcode刷題記錄 661~LeetCode
- 小白記錄Java後端學習遇到的問題Java後端
- 小白筆記筆記
- python日誌記錄器的配置Python
- 如何優雅的記錄操作日誌?
- 記錄騰訊雲使用日誌
- 記錄 | 實習日誌 9
- mysql開啟日誌記錄MySql
- 記錄 sql 查詢日誌SQL
- SecureCRT自動記錄日誌Securecrt
- Appfuse:記錄操作日誌APP
- storm 問題日誌記錄ORM
- 第11章 日誌記錄
- C語言小白記錄自己的錯題和總結C語言
- 小白桌上型電腦裝機流程記錄
- 感覺在網上記錄oralce的一些日誌還是不方便,因此大量的日記記錄在本本上了
- 域名解析的記錄型別:A記錄、CNAME、MX記錄、NS記錄型別
- Flutter日曆專案的優化記錄Flutter優化