Skip to content

Commit

Permalink
Added: TypeScript solutions 2,206,21
Browse files Browse the repository at this point in the history
  • Loading branch information
dipti95 committed Jul 7, 2022
1 parent 9d23c3c commit 6442c1c
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 0 deletions.
37 changes: 37 additions & 0 deletions typescript/2-Add-Two-Numbers.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/**
* Definition for singly-linked list.
* class ListNode {
* val: number
* next: ListNode | null
* constructor(val?: number, next?: ListNode | null) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
* }
*/

function addTwoNumbers(
l1: ListNode | null,
l2: ListNode | null
): ListNode | null {
let dummyNode: ListNode = new ListNode()
let currentNode: ListNode = dummyNode
let carry: number = 0

while (l1 !== null || l2 !== null || carry !== 0) {
const val1 = l1 !== null ? l1.val : 0
const val2 = l2 !== null ? l2.val : 0

const sum: number = val1 + val2 + carry
const value: number = sum % 10
const newLinkedList: ListNode = new ListNode(value)
currentNode.next = newLinkedList
currentNode = newLinkedList
carry = Math.floor(sum / 10)

l1 = l1 !== null ? l1.next : null
l2 = l2 !== null ? l2.next : null
}

return dummyNode.next
}
23 changes: 23 additions & 0 deletions typescript/206-Reverse-Linked-List.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
/**
* Definition for singly-linked list.
* class ListNode {
* val: number
* next: ListNode | null
* constructor(val?: number, next?: ListNode | null) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
* }
*/

function reverseList(head: ListNode | null): ListNode | null {
let prev: ListNode | null = null

while (head) {
let ele = head.next
head.next = prev
prev = head
head = ele
}
return prev
}
36 changes: 36 additions & 0 deletions typescript/21-Merge-Two-Sorted-Lists.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/**
* Definition for singly-linked list.
* class ListNode {
* val: number
* next: ListNode | null
* constructor(val?: number, next?: ListNode | null) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
* }
*/

function mergeTwoLists(
list1: ListNode | null,
list2: ListNode | null
): ListNode | null {
let dummyList: ListNode = new ListNode(0)
let currentNode: ListNode = dummyList

while (list1 !== null && list2 !== null) {
if (list1.val < list2.val) {
currentNode.next = list1
list1 = list1.next
} else {
currentNode.next = list2
list2 = list2.next
}

currentNode = currentNode.next
}

if (list1 !== null) currentNode.next = list1
if (list2 !== null) currentNode.next = list2

return dummyList.next
}

0 comments on commit 6442c1c

Please sign in to comment.