摘要: 解题思路 使用有限状态机 关键在于理清状态个数,尤其是检查DOt是否在数字前出现 因为出现Dot后不能在有第二个Dot C++ std::unordered_map 初始化 C++ 去除std::string 首尾空格 s.erase s.find_first_not_of() 代码 class S 阅读全文
posted @ 2021-05-15 22:49 boyang987 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 解题思路 四条边应该都利用左闭右开区间 要注意每次旋转的起始位置 和 矩阵长宽 最后应该是剩下一个横条 或竖条 ,这点可以模拟几次 再得出结论 代码 class Solution { public: vector<int> spiralOrder(vector<vector<int>>& matri 阅读全文
posted @ 2021-05-15 16:56 boyang987 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 解题思路 stack法,很多跟链表相关的问题都可以用栈 快慢指针法, 找到一个 【pos ,pos+k】 的窗口 ,当滑到尾部时候 ,窗口头部位置就是倒数第K个节点 可以在脑海中找下具体例子 如 [4,5,NULL] 对应 “1->2->3->4->5, 和 k = 2” ,最后slow fast 阅读全文
posted @ 2021-05-15 16:13 boyang987 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 解题思路 找到子问题 if p[i]= s[j] or p[i] ='.' : match(s[0..j-1],p[0..i-1]) else return false if p[i] = '' : match(s[0..j] ,p[0..i-1]) // is empty or p[i-1]p[i 阅读全文
posted @ 2021-05-15 15:57 boyang987 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 方法1 回环法 讲listA & listB看成一个环 class Solution { public: ListNode *getIntersectionNode(ListNode *headA, ListNode *headB) { //回环法 讲listA & listB看成一个环 //e.g 阅读全文
posted @ 2021-05-15 13:37 boyang987 阅读(83) 评论(0) 推荐(0) 编辑