原创 Find First and Last Position of Element in Sorted Array

一、求target在有序數組nums中出現的最小下標和最大下標組成的數組。否則返回{-1,1}。 二、代碼 class Solution{ public: int[] searchRange(int[] nums,int tar

原创 反轉鏈表(ReverseList)

一、學習要點: 1.改變指針的指向即可,兩個結點之間的關係; 二、代碼: struct ListNode{ int val; struct ListNode *next; ListNode(int x):(val(x),ne

原创 顏色排序(Sort Colors)

一、學習要點: 1.定義red指針指向開頭位置,blue指針指向末尾位置; 2.從頭開始遍歷原數組,如果遇到0,則交換該值和red指針指向的值,並將red指針後移一位。若遇到2,則交換該值和blue指針指向的值,並將blue指針前

原创 鏈表中是否存在環的問題,及環入口在鏈表中位置(Linked List Cycle II)

一、學習要點: 1.快慢指針法,存在鏈表環的話,兩指針肯定會相遇; 2.入口位置由兩快慢指針相遇時,改變慢指針指向表頭,和慢指針等速前進,再次相遇的地點決定; 3.講的比較好的一個博客:https://blog.csdn.net/

原创 判斷一顆二叉樹是否爲二叉搜索樹(Validate Binary Search Tree)

一、學習要點: 利用二叉搜索樹的中序遍歷爲遞增數組的性質; 二、代碼: void middle(node* root,vector<int>& inorder) { if(root==NULL) { return; }

原创 鏈表反轉2(Reverse Linked List II)

一、學習要點: 0.流程簡述: 1->2->3->4->5->null 1-> 3->2->4->5->null 1-> 4->3->2->5->null 由此我們可以看出來,總共需要n-m步即可,第一步是將節點3放到節點1的後

原创 鏈表中位數(Middle of the Linked List)

一、學習要點 1.鏈表知識的回顧; 2.鏈表結點數組; 二、代碼 class Solution { public ListNode middleNode(ListNode head) { ListNode[] array = ne

原创 圖像倒轉90度(Rotate Image)

一、學習要點 0.在原圖像矩陣上進行操作; 1.旋轉90度,等於將圖像對摺,然後左右對調; 2.vector矩陣的聲明和賦值; 二、代碼學習: #include<iostream> #include<stdlib.h> #incl

原创 用哈希桶實現錯位字組的分類(Group Anagrams)

一、學習要點: 1.map和unordered_map的區別; 2.哈希桶的使用; 二、代碼: class Solution { public: vector<vector<string>> groupAnagrams(vect

原创 C語言中atoi()函數的用法

C語言中atoi()函數的用法 一、學習要點: 1.int atoi(const char *str)把參數str所指向的字符串轉換爲一個整數; 二、代碼 #include<stdio.h> #include<stdlib.h>

原创 KMP的c語言實現和學習

一、學習要點: 1.KMP算法思路瞭解:https://www.bilibili.com/video/av3246487?from=search&seid=11009544750632580740 2.KMP完整代碼實現視頻: h

原创 羅馬數字轉阿拉伯數字

一、學習要點: 1.運用遞歸的思想,找出羅馬字符串中最大的元素,對左邊的處理是減去,對右邊的處理是加上;遞歸頭是字符串只剩下一個元素時,或者右邊的下標小於左邊的下標; 二、代碼: #include<stdlib.h> #inclu

原创 Reverse String

一、學習要點 1.利用string的迭代器進行遍歷; 2.利用reverse函數進行翻轉; 二、代碼 #include<stdlib.h> #include<stdio.h> #include<string> using name

原创 定間隔字符翻轉(Reverse String II)

一、學習要點: 1.主要是對剩餘字符長度的考慮,大於k的時候,對前k個進行翻轉;小於k的時候,對實際個數進行全翻轉;本程序中翻轉個數用變量x來表示; 二、代碼: #include<stdlib.h> #include<stdio.

原创 同構字符串(Isomorphic Strings)

一、學習要點: 1.構造兩個哈希表; 2.由於爲字符串,每個哈希表的長度爲256; 3.字符串的字符比較則爲哈希值的比較;如果出現之前構造過哈希值的字符,則取出哈希值比較即可,同一映射的哈希值相同;不爲同一映射,哈希值則不相同;