Exercise 1 public class Matrix { private int n; private int m; int[][] mat; public SymmetricMatrix(int n, int m) { this.n = n; this.m = m; } public void printMatrix() { for (int i =0;i a; public StringStack() { a = new ArrayList(); } public boolean isEmpty(){ return a.size()== 0; } public void push(String o){ a.add(o); } public String pop(){ Object temp = a.get(a.size()-1); a.remove(a.size()-1); return (String)temp; } public static boolean palindrome(String word) { StringStack s = new StringStack(); String reverse = ""; for (int i = 0; i < word.length(); i++) s.push(word.substring(i, i + 1)); while (!s.isEmpty()) reverse += s.pop(); return word.equals(reverse); } } Stacks Queues 1. Stack 2. Queue 3. Queue 4. Queue 5. Stack