摘要: 很简单的题,一个个遍历,将当前节点的next设成上一个节点,依次类推。 class Solution { public: ListNode* reverseList(ListNode* head) { ListNode*prev=NULL; ListNode*curr=head; while(cur 阅读全文
posted @ 2021-03-08 16:17 章大佬 阅读(28) 评论(0) 推荐(0)
摘要: 基本的层序遍历 class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { vector <vector <int>> ret; if (!root) { return ret; } queue <TreeNod 阅读全文
posted @ 2021-03-06 18:02 章大佬 阅读(28) 评论(0) 推荐(0)
摘要: 很简单的题,会用哈希表即可,将哈希表存入出现过的元素,再一个个遍历未出现的元素,如果不用哈希表的话复杂度会增高。 class Solution { public: int missingNumber(vector<int>& nums) { int n=nums.size(); unordered_ 阅读全文
posted @ 2021-03-06 14:28 章大佬 阅读(13) 评论(0) 推荐(0)
摘要: 先对间隔数组每一个数组的第一个数子进行排序,之后再进行合并。 class Solution { public: vector<vector<int>> merge(vector<vector<int>>& intervals) { if (intervals.size() == 0) { retur 阅读全文
posted @ 2021-03-04 21:51 章大佬 阅读(20) 评论(0) 推荐(0)
摘要: 加强版的快慢指针题,需要得出在哪里环的位置,就需要一个从头指针,一个slow,相碰的地方为环所在地,这是一个数学题。 这是快慢指针的方法 class Solution { public: ListNode *detectCycle(ListNode *head) { ListNode *slow = 阅读全文
posted @ 2021-03-02 17:35 章大佬 阅读(32) 评论(0) 推荐(0)
摘要: 一个快慢指针的题,slow指针一次一格,fast指针一次两格,当相碰便是有环。减少了时间复杂度,如果使用哈希表解答的话要注意,哈希表存储的必须是地址,是地址匹配才可以,数值匹配是不行的。 class Solution { public: bool hasCycle(ListNode *head) { 阅读全文
posted @ 2021-03-02 16:41 章大佬 阅读(20) 评论(0) 推荐(0)
摘要: 很简单的题目,一个容器平 class Solution { public: vector<int> sortedSquares(vector<int>& nums) { int n=nums.size(); vector<int>num2(n); for(int i=0;i<=nums.size() 阅读全文
posted @ 2021-03-01 17:58 章大佬 阅读(29) 评论(0) 推荐(0)
摘要: 建造一个hash表,pos指针遍历链表,有不同的就存入hash表,相同的则跳过。题目思路比较简单,活用容器即可。 class Solution { public: ListNode* removeDuplicateNodes(ListNode* head) { if(head==NULL) { re 阅读全文
posted @ 2021-03-01 17:37 章大佬 阅读(35) 评论(0) 推荐(0)
摘要: 罗马数字的题,乍一看要求很多而且数据变化很繁琐,实际上可以讨个巧,将需要考虑的四,九等数字放入数组中,之后根据规律字符串往上加就可以了,遍历数组,当数字大于该数组数据时,减去该数据,字符串加入该数据对应的字符。一个循环解决问题。 class Solution { public: string int 阅读全文
posted @ 2021-02-27 15:12 章大佬 阅读(35) 评论(0) 推荐(0)