├── Add Linked Lists └── script.js ├── Longest Common Prefix └── script.js └── Two Sum └── script.js /Add Linked Lists/script.js: -------------------------------------------------------------------------------- 1 | function addTwoNumbers(l1, l2) { 2 | let result = new ListNode(0) 3 | let currentNode = result 4 | let carryOver = 0 5 | while (l1 != null || l2 != null) { 6 | let v1 = 0 7 | let v2 = 0 8 | if (l1 != null) v1 = l1.val 9 | if (l2 != null) v2 = l2.val 10 | 11 | let sum = v1 + v2 + carryOver 12 | carryOver = Math.floor(sum / 10) 13 | sum = sum % 10 14 | currentNode.next = new ListNode(sum) 15 | 16 | currentNode = currentNode.next 17 | if (l1 != null) l1 = l1.next 18 | if (l2 != null) l2 = l2.next 19 | } 20 | 21 | if (carryOver > 0) { 22 | currentNode.next = new ListNode(carryOver) 23 | } 24 | 25 | return result.next 26 | }; -------------------------------------------------------------------------------- /Longest Common Prefix/script.js: -------------------------------------------------------------------------------- 1 | function longestCommonPrefix(strs) { 2 | let prefix = '' 3 | if (strs.length === 0) return prefix 4 | for (let i = 0; i < strs[0].length; i++) { 5 | const character = strs[0][i] 6 | for (let j = 0; j < strs.length; j++) { 7 | if (strs[j][i] !== character) return prefix 8 | } 9 | prefix = prefix + character 10 | } 11 | return prefix 12 | } -------------------------------------------------------------------------------- /Two Sum/script.js: -------------------------------------------------------------------------------- 1 | function twoSum(nums, target) { 2 | const previousValues = {} 3 | for (let i = 0; i < nums.length; i++) { 4 | const currentValue = nums[i] 5 | const neededValue = target - currentValue 6 | if (previousValues[neededValue] != null) { 7 | return [previousValues[neededValue], i] 8 | } else { 9 | previousValues[currentValue] = i 10 | } 11 | } 12 | 13 | return [] 14 | } --------------------------------------------------------------------------------