diff --git a/lesson_12/structs_java/structs_app/src/main/java/com/codedifferently/lesson12/Lesson12.java b/lesson_12/structs_java/structs_app/src/main/java/com/codedifferently/lesson12/Lesson12.java index af7663e90..f6a3b286a 100644 --- a/lesson_12/structs_java/structs_app/src/main/java/com/codedifferently/lesson12/Lesson12.java +++ b/lesson_12/structs_java/structs_app/src/main/java/com/codedifferently/lesson12/Lesson12.java @@ -2,11 +2,28 @@ public class Lesson12 { - /** - * Provide the solution to LeetCode 3062 here: - * https://github.com/yang-su2000/Leetcode-algorithm-practice/tree/master/3062-winner-of-the-linked-list-game - */ public String gameResult(ListNode head) { - return null; + + int oddPoints = 0; + int evenPoints = 0; + + ListNode current = head; + + while (current != null && current.next != null) { + if (current.val > current.next.val) { + evenPoints++; + } else if (current.val < current.next.val) { + oddPoints++; + } + current = current.next.next; + } + + if (oddPoints > evenPoints) { + return "Odd"; + } else if (evenPoints > oddPoints) { + return "Even"; + } else { + return "Tie"; + } } } diff --git a/lesson_12/structs_java/structs_app/src/main/java/com/codedifferently/lesson12/Stack.java b/lesson_12/structs_java/structs_app/src/main/java/com/codedifferently/lesson12/Stack.java index 8444fceca..d2e84cfca 100644 --- a/lesson_12/structs_java/structs_app/src/main/java/com/codedifferently/lesson12/Stack.java +++ b/lesson_12/structs_java/structs_app/src/main/java/com/codedifferently/lesson12/Stack.java @@ -1,5 +1,7 @@ package com.codedifferently.lesson12; +import java.util.EmptyStackException; + /** Implement the below Stack by providing code for the class methods. */ public class Stack { private ListNode top; @@ -9,18 +11,29 @@ public Stack() { } public void push(int value) { - // Your code here + ListNode newNode = new ListNode(value); + newNode.next = top; + top = newNode; } public int pop() { - return 0; + if (isEmpty()) { + throw new EmptyStackException(); + } else { + int value = top.val; + top = top.next; + return value; + } } public int peek() { - return 0; + if (isEmpty()) { + throw new EmptyStackException(); + } + return top.val; } public boolean isEmpty() { - return true; + return top == null; } }