![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日一题
ExMaterial
不懂材料的程序员不是好社畜。
展开
-
Top101-BM3-链表中的节点每k个一组翻转 -(JavaScript实现)
BM3 链表中的节点每k个一组翻转function reverseKGroup( head , k ) { let pre = null; let curr = head; let node = head; for (let i = 0; i < k; i++) { if (node === null) { return head } node = node.next } for原创 2022-04-12 12:39:36 · 678 阅读 · 0 评论 -
Top101-BM2-链表内指定区间反转-(JavaScript实现)
BM2 链表内指定区间反转function reverseBetween( head , m , n ) { const dummy_node = new ListNode(-1); dummy_node.next = head; let pre = dummy_node; for (let i = 0; i < m - 1; i++) { pre = pre.next; } let cur = pre.next; for原创 2022-04-11 15:57:19 · 1247 阅读 · 0 评论 -
Top101-BM1-反转链表-(JavaScript实现)
BM1 反转链表var reverseList = function(head) { // 如果列表为空,不需要反转 if (head === {}) return {}; // 设置两个指针 // 上一个节点的指针,初始值为空 let prev = null; // 当前节点的指针 let curr = head; // 定义一个临时变量 let temp; while (curr !== null) { /原创 2022-04-10 20:11:11 · 749 阅读 · 0 评论 -
力扣977 有序数组的平方 (JavaScript语言实现)
977.有序数组的平方给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。// 暴力破解var sortedSquares = function(nums) { let newNums = []; for (let i = 0; i < nums.length; i++) { newNums.push(nums[i] * nums[i]) } return newNums.sort((a原创 2022-04-09 19:44:02 · 515 阅读 · 0 评论 -
两数相加(JavaScript)
var addTwoNumbers = function(l1, l2) { // 定义初识链表头尾节点 let head = null, tail = null; // 存储进位值 let carry = 0; // 终止条件,l1和l2均为空 while (l1 || l2) { // 将两个非空列表的值取出 const n1 = l1 ? l1.val : 0; const n2 = l2 ? l2.val原创 2022-04-07 23:01:30 · 514 阅读 · 0 评论 -
回文链表(JavaScript)
var isPalindrome = function(head) { // 定义一个空数组来存储数据 let vals = []; // 遍历整个链表,将其值加到数组中 while (head !== null) { vals.push(head.val); head = head.next; } // 头尾元素进行比较,如果不相同则返回false for (let i = 0, j = vals.length - 1原创 2022-04-06 22:24:18 · 458 阅读 · 0 评论 -
奇偶链表(JavaScript)
var oddEvenList = function(head) { // 链表为空则直接返回 if (head === null) return head; // 定义偶链表的开头 let evenHead = head.next; // 定义奇偶链表的开头 let odd = head, even = evenHead; // 全部节点分离完毕的条件是 even 为空节点或者 even.next 为空节点 while (even !== nul原创 2022-04-05 22:54:28 · 967 阅读 · 0 评论 -
二分查找与移除元素(JavaScript语言实现)
二分查找与移除元素(JavaScript语言实现)算法学习第一天二分查找leetcode题目链接:https://leetcode-cn.com/problems/binary-search/题目:给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。var search = function(nums, target) { let left = 0, right =原创 2022-03-08 23:10:25 · 7191 阅读 · 0 评论 -
设计链表(JavaScript)
class LinkNode { constructor(val, next) { this.val = val; this.next = next; }}var MyLinkedList = function() { this._size = 0; this._tail = null; this._head = null;};/** * @param {number} index * @return {number}原创 2022-04-04 22:23:05 · 68 阅读 · 0 评论 -
杨辉三角&杨辉三角 || (JavaScript)
118. 杨辉三角var generate = function(numRows) { // 定义一个空数组收集结果 let ret = []; for (let i = 0; i < numRows; i++) { // 依据行数来确定每一行有多长,并将其用1填充 const row = new Array(i + 1).fill(1); // 因为第一项和最后一项一定是1,所以数组下标如下 for (let原创 2022-04-03 21:29:15 · 528 阅读 · 0 评论 -
反转链表(JavaScript)
var reverseList = function(head) {// 如果列表为空,不需要反转if (head === {}) return {};// 设置两个指针// 上一个节点的指针,初始值为空let prev = null;// 当前节点的指针let curr = head;// 定义一个临时变量let temp;while (curr !== null) {// 用临时变量记录后一个节点temp = curr.next;// 断开当前节点与后面节点的指针curr.n原创 2022-04-02 22:14:25 · 637 阅读 · 0 评论 -
最长公共前缀(JavaScript)
var longestCommonPrefix = function(strs) { // 如果strs长度为零 ,直接返回。 if (strs.length === 0) return ""; // 将数组第一个字符串作为对比值 let ans = strs[0]; // 遍历剩下的字符串 for (let i = 1; i < strs.length; i++) { // 遍历两个字符串中最短的就可 for (let原创 2022-04-01 21:49:59 · 304 阅读 · 0 评论 -
对角线遍历(JavaScript)
var findDiagonalOrder = function(mat) { // 定义一个数组接受返回元素 let a = []; // 列数 let rowLength = mat.length - 1; // 行数 let colLength = mat[0].length - 1; // 定义起始值 let k = 0, l = 0; // 对角线遍历所有元素 for (let i = 0; i <= rowLe原创 2022-03-31 22:40:32 · 448 阅读 · 0 评论