2019-08-18
题目描述:
给定一个字符串,找出不含有重复字符的最长子串的长度
自己的解答:
function findString(string) { let result = '' let current = '' let strs = string.split('') const isDuplicate = (newStr) => { if ( current.indexOf(newStr) !== -1) { return true } return false } for (let i = 0, len = strs.length; i < len; i++) { if (isDuplicate(strs[i])) { if (current.length > result.length) { result = current } current = strs[i] } else { current += strs[i] } } if (current.length > result.length) { result = current } return result }
2019-08-26
题目描述
将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。
Attention
无
examples
输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4
自己的解答:
/** * Definition for singly-linked list. * function ListNode(val) { * this.val = val; * this.next = null; * } */ /** * @param {ListNode} l1 * @param {ListNode} l2 * @return {ListNode} */ var mergeTwoLists = function(l1, l2) { if (!l1 || !l2) { return l1 || l2 } if (l1.val < l2.val) { l1.next = mergeTwoLists(l1.next, l2) return l1 } else { l2.next = mergeTwoLists(l1, l2.next) return l2 } };
2019-08-27
题目描述
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
Attention
无
examples
输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 #### 自己的解答 ````javascript /** * @param {number[]} nums * @return {number} */ var maxSubArray = function(nums) { let max = nums[0] let sum = 0 nums.forEach(num => { if (sum > 0) { sum += num } else { sum = num } max = Math.max(sum, max) }) return max }; ```` ### 2019-08-29 #### 题目描述 给定一个仅包含大小写字母和空格 ' ' 的字符串,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。 #### Attention 一个单词是指由字母组成,但不包含任何空格的字符串。 #### examples 输入: "Hello World" 输出: 5 #### 自己的解答 ````javascript /** * @param {string} s * @return {number} */ var lengthOfLastWord = function(s) { const trim = s => { let reg = new RegExp(/^\s*|\s*$/, 'g') return s.replace(reg, '') } let words = trim(s).split(' ') let lastW = words.pop() if (lastW === ' ') return 0 return lastW.length }; ````