文章 2024-01-18 来自:开发者社区

JS算法-反转字符串中的单词

题目给你一个字符串 s ,请你反转字符串中 单词 的顺序输入: s = "the sky is blue" 输出: "blue is sky the" 题解第一种我们这里先定义一个常量 SPACE,表示空格符号,然后在定义两个数组变量,ret 和 word,分别用于保存颠倒单词顺序后的字符串和当前单词的字符数组,在将输入的字符串 s 后面加上一个空格符号,我们为了方便处理最后一个单词,接下来进行....

文章 2024-01-18 来自:开发者社区

JS算法-链表排序

题目给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。输入: head = [4,2,1,3] 输出: [1,2,3,4] 题解我们首先在sortList函数中先定义一个虚拟节点dummy,将其next指向头节点head,方便操作链表,在使用getLength函数获取链表长度len,然后使用步长step进行循环排序,每次将链表分成长度为step的两个子链表,然后将这两个子....

文章 2024-01-18 来自:开发者社区

JS算法-链表插入排序

题目给定单个链表的头 head ,使用 插入排序 对链表进行排序,并返回 排序后链表的头 。输入: head = [4,2,1,3] 输出: [1,2,3,4] 题解我们在insertionSortList函数中接收一个头结点head作为输入,在首先定义了三个变量:retHead、retPrev和curr。retHead用于记录已排序链表的头结点,retPrev用于记录已排序链表的前一个节点,c....

文章 2024-01-18 来自:开发者社区

JS算法-二叉树的后序遍历

题目给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。输入: root = [1,null,2,3] 输出: [3,2,1] 题解第一种首先我们设定一个结果数组result用来保存后序遍历的结果。如果输入的二叉树为空,直接返回结果数组result,其次,创建两个栈s1和s2。s1用来存储待访问的节点,s2用来存储已访问的节点(即后序遍历的结果)将根节点root压入栈s1中。然后,当....

文章 2024-01-18 来自:开发者社区

JS算法-二叉树的前序遍历

题目给你二叉树的根节点 root ,返回它节点值的 前序 **遍历。输入: root = [1,null,2,3] 输出: [1,2,3] 题解第一种我们先初始化数组 res 为空,将当前节点 root 设为根节点。如果左子树 exist,则在左子树中,找到当前节点 root 的 inorder遍历的前驱节点 t。t是左子树中最右边的节点,它满足t.right == null 或 t.right....

文章 2024-01-18 来自:开发者社区

JS算法-环形链表2

题目给定一个链表的头节点  head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。输入: head = [3,2,0,-4], pos = 1 输出: 返回索引为 1 的链表节点 解释: 链表中有一个环,其尾部连接到第二个节点。 题解第一种我们这里采用的是快慢指针的方法,假设有两个指针:一个指针slow每次走一步,另一个指针fast每次走两步。如果链表中存在环,那....

文章 2024-01-18 来自:开发者社区

JS算法-环形链表

题目给你一个链表的头节点 head ,判断链表中是否有环。输入: head = [3,2,0,-4], pos = 1 输出: true 解释: 链表中有一个环,其尾部连接到第二个节点。 题解第一种首先,若链表头节点head为空,直接返回false,表示不存在环。接下来定义一个储存节点的WeakSet数据结构,用于存储已经遍历的节点。然后定义一个flag变量赋值为true,作为最终的返回结果。接....

文章 2024-01-18 来自:开发者社区

JS算法-单词拆分

题目给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。输入: s = "applepenapple", wordDict = ["apple", "pen"] 输出: true 解释: 返回 true 因为 "applepenapple" 可以由 "apple" "pen" "apple" 拼接成。   注意,你可...

文章 2024-01-18 来自:开发者社区

JS算法-只出现一次的数字

题目给你一个 非空 整数数组 nums ,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。输入: nums = [2,2,1] 输出: 1 题目解析第一种定义函数 singleNumber,并接收一个参数 nums,代表一个整数类型的数组。创建一个空的Map数据结构 map。使用for循环遍历数组 nums 中的每一个元素。对于每个数组元素,做以下判断:如果 ma....

文章 2024-01-18 来自:开发者社区

JS算法-分割回文串

题目给你一个字符串 s,请你将 **s **分割成一些子串,使每个子串都是 回文串 。返回 s 所有可能的分割方案。输入: s = "aab" 输出: [["a","a","b"],["aa","b"]] 题解我们这里声明两个函数,分别是isPalindrome 和 partition函数。 isPalindrome 的功能是判断一个字符串是否是回文的。该函数首先将传入的字符串 s 分割成单个字....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

智能引擎技术

AI Online Serving,阿里巴巴集团搜推广算法与工程技术的大本营,大数据深度学习时代的创新主场。

+关注