数据结构和算法
奔跑的前端er
这个作者很懒,什么都没留下…
展开
-
图解链表反转算法实现
使用p和q两个指针配合工作,使得两个节点间的指向反向,同时用r记录剩下的链表。p=head;q=head.next;head.next=null;进入循环: 第一次循环r=q.next;q.next=p;p=q;q=r;第二次循环r=q.next;q.next=p;p=q;q=r;参考链接:http://blog.csdn.net/feliciafay/article/details/684原创 2017-08-19 10:54:25 · 287 阅读 · 0 评论 -
模式匹配算法以及KMP的javascript实现
暴力解决: 对主串的每一个字符作为子串开头,与要匹配的字符串进行匹配。对主串作大循环,每个字符开头做T的长度的小循环,直到匹配成功或全部遍历完为止。function Index(S,T) { var i=0; var j=0; while (i<S.length && j<T.length){ if(S[i]==T[j]){ ++i;原创 2017-09-06 22:42:43 · 294 阅读 · 0 评论 -
前端排序算法总结
JS简单实现排序算法归并排序function merge(left, right) { var result = []; while(left.length > 0 && right.length > 0) { if(left[0] < right[0]) { result.push(left.shift()); }原创 2017-08-16 21:11:54 · 1830 阅读 · 1 评论 -
前端算法面试题汇总
数组去重function unique(arr) { const seen=new Map(); return arr.filter((a) => !seen.has(a)&& seen.set(a,1));}//orfunction unique(arr) { return Array.from(new Set(arr))}//or[...(new Set(ar原创 2017-09-07 20:25:56 · 1844 阅读 · 0 评论