Skip to content

Commit 44b985e

Browse files
committed
Support for negative numbers added
1 parent 278b3d0 commit 44b985e

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

src/main/java/com/thealgorithms/greedyalgorithms/DigitSeparation.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ public DigitSeparation() {
1818
public List<Long> digitSeparationReverseOrder(long largeNumber) {
1919
List<Long> result = new ArrayList<>();
2020
if (largeNumber != 0) {
21-
while (largeNumber > 0) {
22-
result.add(largeNumber % 10);
21+
while (largeNumber != 0) {
22+
result.add(Math.abs(largeNumber % 10));
2323
largeNumber = largeNumber / 10;
2424
}
2525
} else {

src/test/java/com/thealgorithms/greedyalgorithms/DigitSeparationTest.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,13 @@ public void testDigitSeparationReverseOrderZero() {
3434
assertEquals(List.of(0L), result);
3535
}
3636

37+
@Test
38+
public void testDigitSeparationReverseOrderNegativeNumbers() {
39+
DigitSeparation digitSeparation = new DigitSeparation();
40+
List<Long> result = digitSeparation.digitSeparationReverseOrder(-123);
41+
assertEquals(List.of(3L, 2L, 1L), result);
42+
}
43+
3744
@Test
3845
public void testDigitSeparationForwardOrderSingleDigit() {
3946
DigitSeparation digitSeparation = new DigitSeparation();
@@ -61,4 +68,11 @@ public void testDigitSeparationForwardOrderZero() {
6168
List<Long> result = digitSeparation.digitSeparationForwardOrder(0);
6269
assertEquals(List.of(0L), result);
6370
}
71+
72+
@Test
73+
public void testDigitSeparationForwardOrderNegativeNumber() {
74+
DigitSeparation digitSeparation = new DigitSeparation();
75+
List<Long> result = digitSeparation.digitSeparationForwardOrder(-123);
76+
assertEquals(List.of(3L, 2L, 1L), result);
77+
}
6478
}

0 commit comments

Comments
 (0)