Skip to content

Commit 3ddb43e

Browse files
authored
Added tests 1-26, 864.
1 parent 2fa6a8f commit 3ddb43e

File tree

26 files changed

+329
-130
lines changed

26 files changed

+329
-130
lines changed

src/test/kotlin/com_github_leetcode/ArrayUtils.kt

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,16 @@ object ArrayUtils {
1414
}
1515
return expectedList
1616
}
17+
18+
fun getLists(expected: Array<Array<String>>): List<List<String>>? {
19+
val expectedList: MutableList<List<String>> = ArrayList()
20+
for (value in expected) {
21+
val expectedItem: MutableList<String> = ArrayList()
22+
expectedList.add(expectedItem)
23+
for (item in value) {
24+
expectedItem.add(item)
25+
}
26+
}
27+
return expectedList
28+
}
1729
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com_github_leetcode
2+
3+
object LinkedListUtils {
4+
fun contructLinkedList(nums: IntArray?): ListNode? {
5+
if (nums == null || nums.size == 0) {
6+
return null
7+
}
8+
val pre = ListNode(-1)
9+
var head: ListNode? = ListNode(nums[0])
10+
pre.next = head
11+
for (i in 1 until nums.size) {
12+
head!!.next = ListNode(nums[i])
13+
head = head.next
14+
}
15+
return pre.next
16+
}
17+
18+
fun createSinglyLinkedList(listValues: List<Int?>?): ListNode {
19+
require(!(listValues == null || listValues.size == 0)) { "Please pass in a valid listValues to create a singly linked list." }
20+
val head = ListNode(listValues[0]!!)
21+
var tmp: ListNode? = head
22+
for (i in 1 until listValues.size) {
23+
val next = ListNode(listValues[i]!!)
24+
tmp!!.next = next
25+
tmp = tmp.next
26+
}
27+
return head
28+
}
29+
}

src/test/kotlin/g0001_0100/s0001_two_sum/SolutionTest.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,19 @@ import org.hamcrest.CoreMatchers.equalTo
44
import org.hamcrest.MatcherAssert.assertThat
55
import org.junit.jupiter.api.Test
66

7-
class SolutionTest {
7+
internal class SolutionTest {
88
@Test
99
fun twoSum() {
1010
assertThat(Solution().twoSum(intArrayOf(2, 7, 11, 15), 9), equalTo(intArrayOf(0, 1)))
1111
}
12+
13+
@Test
14+
fun twoSum2() {
15+
assertThat(Solution().twoSum(intArrayOf(3, 2, 4), 6), equalTo(intArrayOf(1, 2)))
16+
}
17+
18+
@Test
19+
fun twoSum3() {
20+
assertThat(Solution().twoSum(intArrayOf(3, 3), 6), equalTo(intArrayOf(0, 1)))
21+
}
1222
}
Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,36 @@
11
package g0001_0100.s0002_add_two_numbers
22

3+
import com_github_leetcode.LinkedListUtils
34
import com_github_leetcode.ListNode
45
import org.hamcrest.CoreMatchers.equalTo
56
import org.hamcrest.MatcherAssert.assertThat
67
import org.junit.jupiter.api.Test
78

8-
class SolutionTest {
9+
internal class SolutionTest {
910
@Test
1011
fun addTwoNumbers() {
11-
val listNode1 = ListNode(2)
12-
listNode1.next = ListNode(4)
13-
listNode1.next?.next = ListNode(3)
14-
val listNode2 = ListNode(5)
15-
listNode2.next = ListNode(6)
16-
listNode2.next?.next = ListNode(4)
17-
assertThat(Solution().addTwoNumbers(listNode1, listNode2).toString(), equalTo("7, 0, 8"))
12+
val listNode1: ListNode? = LinkedListUtils.contructLinkedList(intArrayOf(2, 4, 3))
13+
val listNode2: ListNode? = LinkedListUtils.contructLinkedList(intArrayOf(5, 6, 4))
14+
assertThat(
15+
Solution().addTwoNumbers(listNode1, listNode2).toString(), equalTo("7, 0, 8")
16+
)
17+
}
18+
19+
@Test
20+
fun addTwoNumbers2() {
21+
assertThat(
22+
Solution().addTwoNumbers(ListNode(0), ListNode(0)).toString(),
23+
equalTo("0")
24+
)
25+
}
26+
27+
@Test
28+
fun addTwoNumbers3() {
29+
val listNode1: ListNode? = LinkedListUtils.contructLinkedList(intArrayOf(9, 9, 9, 9, 9, 9, 9))
30+
val listNode2: ListNode? = LinkedListUtils.contructLinkedList(intArrayOf(9, 9, 9, 9))
31+
assertThat(
32+
Solution().addTwoNumbers(listNode1, listNode2).toString(),
33+
equalTo("8, 9, 9, 9, 0, 0, 0, 1")
34+
)
1835
}
1936
}

src/test/kotlin/g0001_0100/s0003_longest_substring_without_repeating_characters/SolutionTest.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,19 @@ import org.hamcrest.CoreMatchers.equalTo
44
import org.hamcrest.MatcherAssert.assertThat
55
import org.junit.jupiter.api.Test
66

7-
class SolutionTest {
7+
internal class SolutionTest {
88
@Test
99
fun lengthOfLongestSubstring() {
1010
assertThat(Solution().lengthOfLongestSubstring("abcabcbb"), equalTo(3))
1111
}
12+
13+
@Test
14+
fun lengthOfLongestSubstring2() {
15+
assertThat(Solution().lengthOfLongestSubstring("bbbbb"), equalTo(1))
16+
}
17+
18+
@Test
19+
fun lengthOfLongestSubstring3() {
20+
assertThat(Solution().lengthOfLongestSubstring("pwwkew"), equalTo(3))
21+
}
1222
}

src/test/kotlin/g0001_0100/s0004_median_of_two_sorted_arrays/SolutionTest.kt

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,20 @@ import org.hamcrest.CoreMatchers.equalTo
44
import org.hamcrest.MatcherAssert.assertThat
55
import org.junit.jupiter.api.Test
66

7-
class SolutionTest {
7+
internal class SolutionTest {
88
@Test
99
fun findMedianSortedArrays() {
10-
assertThat(Solution().findMedianSortedArrays(intArrayOf(1, 3), intArrayOf(2)), equalTo(2.0))
10+
assertThat(
11+
Solution().findMedianSortedArrays(intArrayOf(1, 3), intArrayOf(2)),
12+
equalTo(2.0)
13+
)
14+
}
15+
16+
@Test
17+
fun findMedianSortedArrays2() {
18+
assertThat(
19+
Solution().findMedianSortedArrays(intArrayOf(1, 2), intArrayOf(3, 4)),
20+
equalTo(2.5)
21+
)
1122
}
1223
}

src/test/kotlin/g0001_0100/s0005_longest_palindromic_substring/SolutionTest.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,14 @@ import org.hamcrest.CoreMatchers.equalTo
44
import org.hamcrest.MatcherAssert.assertThat
55
import org.junit.jupiter.api.Test
66

7-
class SolutionTest {
7+
internal class SolutionTest {
88
@Test
99
fun longestPalindrome() {
1010
assertThat(Solution().longestPalindrome("babad"), equalTo("bab"))
1111
}
12+
13+
@Test
14+
fun longestPalindrome2() {
15+
assertThat(Solution().longestPalindrome("cbbd"), equalTo("bb"))
16+
}
1217
}

src/test/kotlin/g0001_0100/s0006_zigzag_conversion/SolutionTest.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,14 @@ import org.hamcrest.CoreMatchers.equalTo
44
import org.hamcrest.MatcherAssert.assertThat
55
import org.junit.jupiter.api.Test
66

7-
class SolutionTest {
7+
internal class SolutionTest {
88
@Test
99
fun convert() {
1010
assertThat(Solution().convert("PAYPALISHIRING", 3), equalTo("PAHNAPLSIIGYIR"))
1111
}
12+
13+
@Test
14+
fun convert2() {
15+
assertThat(Solution().convert("PAYPALISHIRING", 4), equalTo("PINALSIGYAHRPI"))
16+
}
1217
}

src/test/kotlin/g0001_0100/s0007_reverse_integer/SolutionTest.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,19 @@ import org.hamcrest.CoreMatchers.equalTo
44
import org.hamcrest.MatcherAssert.assertThat
55
import org.junit.jupiter.api.Test
66

7-
class SolutionTest {
7+
internal class SolutionTest {
88
@Test
99
fun reverse() {
1010
assertThat(Solution().reverse(123), equalTo(321))
1111
}
12+
13+
@Test
14+
fun reverse2() {
15+
assertThat(Solution().reverse(-123), equalTo(-321))
16+
}
17+
18+
@Test
19+
fun reverse3() {
20+
assertThat(Solution().reverse(120), equalTo(21))
21+
}
1222
}

src/test/kotlin/g0001_0100/s0008_string_to_integer_atoi/SolutionTest.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import org.hamcrest.CoreMatchers.equalTo
44
import org.hamcrest.MatcherAssert.assertThat
55
import org.junit.jupiter.api.Test
66

7-
class SolutionTest {
7+
internal class SolutionTest {
88
@Test
99
fun myAtoi() {
1010
assertThat(Solution().myAtoi("42"), equalTo(42))

0 commit comments

Comments
 (0)