08 2014 档案
摘要:1 class Solution { 2 vector > pos; 3 vector sen; 4 public: 5 6 vector wordBreak(string s, unordered_set &dict) { 7 getVector(s,d...
阅读全文
摘要:这个题目思路:在一个bool型数组中,像接力一样传递匹配成功,传递到最后一个字符,说明匹配成功。说的明白点就是从第i(0~n)个字符开始向后与子串进行匹配,匹配的数组中标记为true,循环比较。需要注意的是:unordered_set的count(T s)查看是否包含该元素。string类的subs...
阅读全文
摘要:这个题目想了一段时间没想出来,就到博客上找了别人的题解。大概思路就是:两个指针ptr1和ptr2,都从链表头开始走,ptr1每次走一步,ptr2每次走两步,等两个指针重合时,就说明有环,否则没有。如果有环的话,那么让ptr1指向链表头,ptr2不动,两个指针每次都走一步,当它们重合时,所指向的节点就...
阅读全文
摘要:这个题目就是用两个指针遍历链表,一个指针每次跳一步,另外一个指针每次跳两步,如果重合,则说明有环。 1 #define NULL 0 2 3 class Solution { 4 public: 5 bool hasCycle(ListNode *head) { 6 Lis...
阅读全文
摘要:1 #define NULL 0 2 3 class Solution { 4 public: 5 void reorderList(ListNode *head) { 6 stack s; 7 ListNode* ptr1,*ptr2,*tmp; 8 ...
阅读全文
摘要:#define NULL 0class Solution {public: vector preorderTraversal(TreeNode *root) { stack s; vector v1; if(root!=NULL) s.p...
阅读全文
摘要:递归实现。 1 class Solution { 2 public: 3 vector postorderTraversal(TreeNode *root) { 4 if(root->left == NULL && root->right == NULL) 5 ...
阅读全文
摘要:这个题敲了好久,比较纠结就是用链表加map实现,第一次是用单链表加一个指针标记,提交了几次总是出现runtime error。应该是内存访问出现了问题,原因在指针上,所以我就采用了双链表,修改了几个边界问题终于过了。需要考虑的边界有,catche容量为0,1的情况时head和tail的处理。链表...
阅读全文