剑指Offer的js题解
文章平均质量分 59
云梦摘星大菜豆
这个作者很懒,什么都没留下…
展开
-
剑指 Offer JZ35 复杂链表的复制
注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路。描述输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针random指向一个随机节点),请对此链表进行深拷贝,并返回拷贝后的头结点。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空)。 下图是一个含有5个结点的复杂链表。图中实线箭头表示next指针,虚线箭头表示random指针。为简单起见,指向null的指针没有画出。示例:输原创 2021-10-29 17:58:04 · 169 阅读 · 0 评论 -
剑指 Offer II 028. 数组中出现次数超过一半的数字
注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路。描述给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。保证数组输入非空,且保证有解示例:输入: [1,2,3,2,2,2,5,4,2]返回值:2输入:[3,3,3,3,2,2,2]输出:3输入:[1]输原创 2021-10-11 19:13:06 · 86 阅读 · 0 评论 -
剑指 Offer II 024. 反转链表
注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路。描述给定单链表的头节点 head ,请反转链表,并返回反转后的链表的头节点。示例:输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]输入:head = [1,2]输出:[2,1]输入:head = []输出:[]提示:链表中节点的数目范围是 [0, 5000]-5000 <= Node.val <= 5000解题思路修原创 2021-09-12 12:00:17 · 141 阅读 · 0 评论 -
JZ2 替换空格
注:本文的代码实现使用的是 JS(JavaScript),为前端中想使用JS练习算法和数据结构的小伙伴提供解题思路。(使用的编译环境是JavaScript Node,其实跟JS没啥区别)描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。示例:示例1输入:"We Are Happy"返回值:"We%20Are%20Happy"解题思路1. js自带的replace函数repl原创 2021-08-29 18:47:50 · 115 阅读 · 0 评论