1
1
package com .fishercoder .solutions ;
2
2
3
3
import com .fishercoder .common .classes .ListNode ;
4
+ import java .util .HashMap ;
5
+ import java .util .Map ;
4
6
5
7
public class _24 {
6
8
public static class Solution1 {
@@ -24,23 +26,28 @@ public static class Solution2 {
24
26
* Iterative approach:
25
27
* My completely original on 10/24/2021.
26
28
*/
29
+ private static Map <String , Boolean > branchCoverage = new HashMap <>();
30
+
31
+ static {
32
+ branchCoverage .put ("flag1" , false );
33
+ branchCoverage .put ("flag2" , false );
34
+ branchCoverage .put ("flag3" , false );
35
+ }
36
+
27
37
public ListNode swapPairs (ListNode head ) {
28
- boolean flag1 = false ;
29
- boolean flag2 = false ;
30
- boolean flag3 = false ;
31
38
ListNode pre = new ListNode (-1 );
32
39
pre .next = head ;
33
40
ListNode tmp = pre ;
34
41
while (head != null ) {
35
- flag1 = true ;
42
+ branchCoverage . put ( " flag1" , true ) ;
36
43
ListNode third ;
37
44
ListNode first = head ;
38
45
ListNode second = head .next ;
39
46
if (second == null ) {
40
- flag2 = true ;
47
+ branchCoverage . put ( " flag2" , true ) ;
41
48
break ;
42
49
} else {
43
- flag3 = true ;
50
+ branchCoverage . put ( " flag3" , true ) ;
44
51
third = head .next .next ;
45
52
second .next = first ;
46
53
first .next = third ;
@@ -49,11 +56,14 @@ public ListNode swapPairs(ListNode head) {
49
56
}
50
57
head = third ;
51
58
}
52
- System .out .println ("Flag1: " + flag1 + "\n " );
53
- System .out .println ("Flag2: " + flag2 + "\n " );
54
- System .out .println ("Flag3: " + flag3 + "\n " );
59
+ printCoverage ();
55
60
return pre .next ;
56
61
}
57
- }
58
62
63
+ public void printCoverage () {
64
+ for (Map .Entry <String , Boolean > entry : branchCoverage .entrySet ()) {
65
+ System .out .println (entry .getKey () + " was " + (entry .getValue () ? "hit" : "not hit" ));
66
+ }
67
+ }
68
+ }
59
69
}
0 commit comments