From 61029372ae1fa94ecd203b4b736a9e98d72349da Mon Sep 17 00:00:00 2001 From: VirtualLights Date: Wed, 5 Oct 2016 22:32:07 -0700 Subject: [PATCH 1/7] PalindromeFinder + SinglyLinkedList fix Added code for PalindromeFinder (2.6 in Cracking the Coding Interview), fixed a minor bug in SinglyLinkedList, added a size getter for SinglyLinkedList --- src/TechInterview/PalindromeFinder.java | 101 ++++++++++++++++++++++++ src/TechInterview/SinglyLinkedList.java | 2 + 2 files changed, 103 insertions(+) create mode 100644 src/TechInterview/PalindromeFinder.java diff --git a/src/TechInterview/PalindromeFinder.java b/src/TechInterview/PalindromeFinder.java new file mode 100644 index 0000000..1386a4a --- /dev/null +++ b/src/TechInterview/PalindromeFinder.java @@ -0,0 +1,101 @@ +package TechInterview + +public class PalindromeFinder { + + private SinglyLinkedList list; + private boolean isEven; + private StackLinkedList stack; + + public PalindromeFinder(SinglyLinkedList list) { + this.list = list; + stack = new StackLinkedList(); + + //Checks if the linkedlist has an even number of nodes + if(list.size() % 2 != 0) + isEven = false; + else + isEven = true; + } + + /* + * Method to change the linkedlist that needs to be checked. + * Helps to prevent from having to create multiple PalindromeFinders + */ + public void changeLinkedList(SinglyLinkedList list) { + this.list = list; + stack = new StackLinkedList(); + + if((list.size() % 2) != 0) + isEven = false; + else + isEven = true; + } + + /* + * Uses a stack to store the first half of the linkedlist. + * Then, compares the stored elements with the second half of the linkedlist. + * @return boolean true if the linkedlist is a palindrome, false otherwise. + */ + public boolean isPalindrome() { + int i = 0; + while(i < (list.size() / 2)) { + stack.push(list.get(i)); + i++; + } + //Deals with cases where there is an odd number of elements in the original linkedlist + if(!isEven) + i++; + + //Attempts to match each element remaining in the list to each element stored in the stack + while(i < list.size()) { + if(!(list.get(i).equals(stack.pop()))) + break; + if(i == list.size() - 1) + return true; + + i++; + } + + return false; + } + + + + public static void main(String[] args) { + /* + * Tests + * evenPalin (first print statement) should be true + * oddPalin (second print statement) should be true + * notPalin (third print statement) should be false + */ + SinglyLinkedList evenPalin = new SinglyLinkedList<>(); + SinglyLinkedList oddPalin = new SinglyLinkedList<>(); + SinglyLinkedList notPalin = new SinglyLinkedList<>(); + SinglyLinkedList empty= new SinglyLinkedList<>(); + + for(int i = 1; i < 6; i++) { + evenPalin.add(i); + oddPalin.add(i); + notPalin.add(i); + } + + oddPalin.add(0); + + for(int i = 5; i > 0; i--) { + evenPalin.add(i); + oddPalin.add(i); + notPalin.add(i+1); + } + PalindromeFinder palinFinder = new PalindromeFinder<>(evenPalin); + System.out.println(palinFinder.isPalindrome()); + + palinFinder.changeLinkedList(oddPalin); + System.out.println(palinFinder.isPalindrome()); + + palinFinder.changeLinkedList(notPalin); + System.out.println(palinFinder.isPalindrome()); + + palinFinder.changeLinkedList(empty); + System.out.println(palinFinder.isPalindrome()); + } +} diff --git a/src/TechInterview/SinglyLinkedList.java b/src/TechInterview/SinglyLinkedList.java index 1e35c9f..4d50279 100644 --- a/src/TechInterview/SinglyLinkedList.java +++ b/src/TechInterview/SinglyLinkedList.java @@ -81,6 +81,8 @@ public String toString() { return sb.toString(); } + return size; + } public class Node { private Node next; From 6ef728006e9f4da3b542463e3d9822b95cbdec48 Mon Sep 17 00:00:00 2001 From: VirtualLights Date: Wed, 5 Oct 2016 22:33:45 -0700 Subject: [PATCH 2/7] 1 Meant to add this to last change --- src/TechInterview/SinglyLinkedList.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/TechInterview/SinglyLinkedList.java b/src/TechInterview/SinglyLinkedList.java index 4d50279..7e3c9e0 100644 --- a/src/TechInterview/SinglyLinkedList.java +++ b/src/TechInterview/SinglyLinkedList.java @@ -44,7 +44,7 @@ public Node remove(int index) { } public E get(int index) { - if (index > 0 && index < size) { + if (index >= 0 && index < size) { Node curr = head; for (int i = 0; i <= index; i++) { curr = curr.next; @@ -81,8 +81,10 @@ public String toString() { return sb.toString(); } + public int size() { return size; } + public class Node { private Node next; From 761756e88539f8514f7203f85922c9b91969ab3c Mon Sep 17 00:00:00 2001 From: VirtualLights Date: Wed, 5 Oct 2016 22:33:53 -0700 Subject: [PATCH 3/7] Revert "1" This reverts commit 6ef728006e9f4da3b542463e3d9822b95cbdec48. --- src/TechInterview/SinglyLinkedList.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/TechInterview/SinglyLinkedList.java b/src/TechInterview/SinglyLinkedList.java index 7e3c9e0..4d50279 100644 --- a/src/TechInterview/SinglyLinkedList.java +++ b/src/TechInterview/SinglyLinkedList.java @@ -44,7 +44,7 @@ public Node remove(int index) { } public E get(int index) { - if (index >= 0 && index < size) { + if (index > 0 && index < size) { Node curr = head; for (int i = 0; i <= index; i++) { curr = curr.next; @@ -81,10 +81,8 @@ public String toString() { return sb.toString(); } - public int size() { return size; } - public class Node { private Node next; From a5733658c052e17030582b4698469be09adc6327 Mon Sep 17 00:00:00 2001 From: VirtualLights Date: Wed, 5 Oct 2016 22:33:55 -0700 Subject: [PATCH 4/7] Revert "Revert "1"" This reverts commit 761756e88539f8514f7203f85922c9b91969ab3c. --- src/TechInterview/SinglyLinkedList.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/TechInterview/SinglyLinkedList.java b/src/TechInterview/SinglyLinkedList.java index 4d50279..7e3c9e0 100644 --- a/src/TechInterview/SinglyLinkedList.java +++ b/src/TechInterview/SinglyLinkedList.java @@ -44,7 +44,7 @@ public Node remove(int index) { } public E get(int index) { - if (index > 0 && index < size) { + if (index >= 0 && index < size) { Node curr = head; for (int i = 0; i <= index; i++) { curr = curr.next; @@ -81,8 +81,10 @@ public String toString() { return sb.toString(); } + public int size() { return size; } + public class Node { private Node next; From 9960caac314ed0c63af5e68146da9fe349fa8acd Mon Sep 17 00:00:00 2001 From: VirtualLights Date: Wed, 5 Oct 2016 22:36:56 -0700 Subject: [PATCH 5/7] Minor fixes better commenting --- src/TechInterview/PalindromeFinder.java | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/src/TechInterview/PalindromeFinder.java b/src/TechInterview/PalindromeFinder.java index 1386a4a..df46009 100644 --- a/src/TechInterview/PalindromeFinder.java +++ b/src/TechInterview/PalindromeFinder.java @@ -19,7 +19,7 @@ public PalindromeFinder(SinglyLinkedList list) { /* * Method to change the linkedlist that needs to be checked. - * Helps to prevent from having to create multiple PalindromeFinders + * Allows one PalindromeFinder to check multiple lists for palindromes */ public void changeLinkedList(SinglyLinkedList list) { this.list = list; @@ -48,8 +48,10 @@ public boolean isPalindrome() { //Attempts to match each element remaining in the list to each element stored in the stack while(i < list.size()) { + //If the element in the list does not match the element in the stack, then exit the loop if(!(list.get(i).equals(stack.pop()))) break; + //If the loop has reached the end of the list without any mismatches, then the list is a palindrome if(i == list.size() - 1) return true; @@ -63,29 +65,35 @@ public boolean isPalindrome() { public static void main(String[] args) { /* - * Tests - * evenPalin (first print statement) should be true - * oddPalin (second print statement) should be true - * notPalin (third print statement) should be false + * Tests: + * evenPalin (first print statement) should be true (tests lists of even sizes) + * oddPalin (second print statement) should be true (tests lists of odd sizes) + * notPalin (third print statement) should be false (tests lists that aren't palindromes) + * empty (fourth print statement) should be false (tests lists that are empty) */ SinglyLinkedList evenPalin = new SinglyLinkedList<>(); SinglyLinkedList oddPalin = new SinglyLinkedList<>(); SinglyLinkedList notPalin = new SinglyLinkedList<>(); SinglyLinkedList empty= new SinglyLinkedList<>(); + //Adds the first set of elements to the linkedlist for(int i = 1; i < 6; i++) { evenPalin.add(i); oddPalin.add(i); notPalin.add(i); } + //Adds an extra element for the odd list oddPalin.add(0); + //Adds the remaining half of the elements to the linked list + //notPalin has elements shifted up by one in order to have it not be a palindrome for(int i = 5; i > 0; i--) { evenPalin.add(i); oddPalin.add(i); notPalin.add(i+1); } + PalindromeFinder palinFinder = new PalindromeFinder<>(evenPalin); System.out.println(palinFinder.isPalindrome()); @@ -98,4 +106,4 @@ public static void main(String[] args) { palinFinder.changeLinkedList(empty); System.out.println(palinFinder.isPalindrome()); } -} +} \ No newline at end of file From 9d3c89bb41c171097279637ca1a9d7a3ce2fef8a Mon Sep 17 00:00:00 2001 From: VirtualLights Date: Thu, 6 Oct 2016 10:41:21 -0700 Subject: [PATCH 6/7] Commenting . --- src/TechInterview/PalindromeFinder.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/TechInterview/PalindromeFinder.java b/src/TechInterview/PalindromeFinder.java index df46009..5622a4e 100644 --- a/src/TechInterview/PalindromeFinder.java +++ b/src/TechInterview/PalindromeFinder.java @@ -1,5 +1,14 @@ -package TechInterview +package TechInterview; +/** + * Given a linkedlist, find if the linkedlist is a palindrome. + * + * Input: Generic linkedlist of any size + * + * Output: If the linkedlist is a palindrome, isPalindrome returns true. + * Otherwise, isPalindrome returns false. + * + */ public class PalindromeFinder { private SinglyLinkedList list; @@ -38,6 +47,7 @@ public void changeLinkedList(SinglyLinkedList list) { */ public boolean isPalindrome() { int i = 0; + //Stores the first half of the linkedlist into the stack while(i < (list.size() / 2)) { stack.push(list.get(i)); i++; @@ -57,7 +67,7 @@ public boolean isPalindrome() { i++; } - + //If at any point the previous while loop breaks, then the list is not a palindrome, and return false. return false; } From 4e36466ed0a34213c281f6b3ec9a5147646062b3 Mon Sep 17 00:00:00 2001 From: VirtualLights Date: Thu, 6 Oct 2016 10:44:57 -0700 Subject: [PATCH 7/7] Added class files . --- .../TechInterview/PalindromeFinder.class | Bin 0 -> 2621 bytes .../TechInterview/SinglyLinkedList$Node.class | Bin 1535 -> 1376 bytes .../TechInterview/SinglyLinkedList.class | Bin 3720 -> 3680 bytes .../TechInterview/StackLinkedList$Node.class | Bin 1248 -> 1136 bytes .../TechInterview/StackLinkedList.class | Bin 2872 -> 2750 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 build/classes/TechInterview/PalindromeFinder.class diff --git a/build/classes/TechInterview/PalindromeFinder.class b/build/classes/TechInterview/PalindromeFinder.class new file mode 100644 index 0000000000000000000000000000000000000000..c8d65fe21ce7cda465618848983fe5f83b83aa18 GIT binary patch literal 2621 zcmb7GO;a3I6g_XIn}$gzkibBIkU&Ue7$6w)VFHMnNEDp}%#cX}iAgi_nCURgOy+|W zZro&(y)LB6DzmWAGMiXtqNcRUox1QRWaS@l=fZM4ujd1%p-frO{XY8MbMHI%ybHhm z^TSU7PGZ@BN8sR`j3%a2d6`|c<-O5aD`}@<+4PFMz)@xmXaX&FtW|3?X{F+$GmCd* zG%uhf?Hq^RP`!KDPQ{aJAv?7!V+ z%nRtbycJy*IOKL#+jXIi{I^97eZo%J`ALEPfZM^H{$NBP@FJ@+t}@lmr(@CwFIr9P zL7RX#Fc@iqK)VSY4F>iL^tc$SKZOq+XjLBFCU(K}p$CTy9NbnXH_;|~(Z>XG_J`z| zVW$;HzlkRJ1e!^cyi{0Ol-W6JF-ePkp>)(rMy#x@)|E{ypRjY=i|W<{3)EikzLu#% zxGU`Tt=3?7Se^T#m8pboi6$s7xmivD)6Q*rJ7=0#bc~vK8OOPfOA62*m>vwdDWJNe zR?K+T9=vPfJ#|*E6^r>;_lrt?%}toW`vzv~E^v4)mzOIhE+b6)bU|@g&d*Md&N8_? zQ8ReVgfwjQAI-bBy6GLd`hLw$zuht!S zV0)0f=uVvl8q={@b(%`&D^p#rWb$hQyE3XbmD`fQsTW+`i7lj8sZy=Q?dJs9((rcn zGjL157fu(lQ8q?(f&6aAV~QJgi;1bREuqW(a(r_87Wzn$mz~%Pk7^EF8C-eL$cMMq znX?7d_IE?$oOR{*vSkbQ(&{S*0T>EC#lGOs6ZnJA&~g1KI-j6xsE7l4=2PqndY|C% z1{#AJ$H#QjaD?xJ4%9xbS{byBKONN5ejG&?g6QT5v@;;#@e&3&s#!VR0Oy#zo~bTGvF|j>1U{;=wyO@2=G0)CGCM)+5_9t zR^Q5Lt8dk`HF)|I(^Nj+is8R1DJHxV8)Wxebn)?b7jdkJSMCeZt(J=DyDho#@Wj~KIDo=MUL94BQbnBhs5=agz~ zEZrHF;Vh1^CmqKmF5q=c<4r_x4%gUJ7P!B}2C`YcM1=?(4#@w=_H~Jsk^F8UIVhXmErOa7v~#tLp3l3ln30x>LrJj(ioGWUl=c!WjfMM-u63x(9a514 z(d*E0E{_CObSz_)xQ$weZ!YP`AumuMXHLAEEuPUP8&QJY60OO2ZHEo(cD43u+LoE$X^&036SQ5L&W z(UC%0V8Zc0;KgDb3sJBG6X=HmPZond(~W$qKO8vnxyzqyb@m^q^VA9GyS^_6JDwc` zGRWYbz|H^9J&g_zFm96<3Hs#{(AW@)G8AdZ(nDkOH(n|hdBEt7bCyw{cafr}l&8^J zFgH$c-u#Y>rZ_?As{*-9?_~wQPhf9o{}xy1Os8Th!Bql-g1bf_5%F~eyH7F8nu6UN z!zOSFYZGjjU>yZpij<6DnSeXcaAS%xhb1~8dvJ@^h;mI)Ht3XPrOaPa-G^1RZ(m(zM$> zlmhyW z5rpZJvsr&t*(#0`Lqn@Gprlmw*cw`;j^(sVd(C6natSp+kpf}&$nNJh1TsFr9J^^d zw!0;eHT;6}4Kls0Oee^Y+#P&u%3j@Sc9fiM%jz_&p3VF5VUUFgq^pajVsmeX7a^)urmk>vbvbQ<3vtYNv!bA$Tfq zG9STQ`17kMPgIoI=8O4M%&c3y)*bX(^0m#)UAp>;i~ROdODqu}WWLm_E}0G$x0@HQH&==}(IO?i0x*>!Q0bouzP-#zop4 zP@G0{!YqssFux;ciV?(DItpNk#s!*zH;7@M)^CxfUD`{*G7<7Gp`ZnB(OM^9K3S#} z6xD5tW~vjK8S4Vo`V6WAqIySE?-f4{Sp3=?wO20rE@T{+;9TQVQq#AWzI(hu|85-A5+z#-cJbYh(i1U DfSN%W diff --git a/build/classes/TechInterview/SinglyLinkedList.class b/build/classes/TechInterview/SinglyLinkedList.class index ecb0c0db11fe27600d1a5d8a22b05b4e8655801b..59c2311fcdcc545268b88922d61ec08108726e9a 100644 GIT binary patch literal 3680 zcma)8TT>Hf7=AtyOo+=-5fwoYkdOp9RBaWCqGF2%P*JG0TGwQSm5|^jpxDz*|3xo4 zb~@utJ7YVFw$Ajj&a{_adF5~DO*>vFecs*83DGdX?)QEB9-iktef;(M_dfva$2UHd zDKwuqVzZ;kjA1RA#;u-7GdYu3j+)6iBOW!=86Ug~H8=Dny(gh3XL=^C-7sPq1@Ek( z#}zuF?^bUgPsNP^g^EdYCaGr@EkhwxLTB*&$iUD(SJ9g`?@&jLDr_1wlV)Z}!4vG7 zB7);I9e@Yb8a6}op;n=7184%M!4^^3O8H<3ECXFr6;Rlwp&XlJwOvC60t(d(kuknF zf6cJY>(>&5SQkyj^u&~InX-2ey_s1vtH-A;9lZj+@>dgCN-I{I2;s;)t%D;A5JPX^5 zjRi1*Y5_B<;S^5iliIIvXk$rT2eDWk(=d(+hF@P;Fp{kQ?)B=wAVfvD2K+e7aJGo0 zNwIW(jRBWjq4Qz`qB*7EI8G>(rLQUMc&jgaZgGrx=XEp5eh*%HL)30i&XxeK;HnRw zE7ayADl>Y;j6W7I1Q4P3a%)LTf!)~-x;5ue~VCD+u_~ddrW6WzXaf858 zi&9Ju9y8T*hKbIQsG-l(P6A0E<`uTsSc*SuNTG#j7DOYF6sI>eya$FJ9Bx^MI^&l}a441N-ob*PWvLFaH3O5WMJr~UG-VXmuf4_g33T@6;K<O-D~X!wO+JlMf!9pwN&pA~G90P1ODCr`u=_F^K>heV_`4sYV_Y6jSO4pdJVsaO;sZ2z zuex}=HlDr20aVdWHJ`jLQA-qc#8Hbq+;w6r`gkH3Lyk8WBmJTq`-rRxZRlZ)$|&EA zUamYggS@;jaOC@P@)Ai$-cR{{ey@h-6}I_M!(Z=9hDJ$wts(t0K}cdEB<;l6CLIyh z|nTC2{z2|3dI)3c8+2sN3qGJD5=RyImATDAtq8nOz3!^ z!lb~y$Wb_G=j|CkN!|tfa9HRvIRO|6a9^QAsQmlPM7HJ^@#pRqAM6Iq}6Pf zdJk#!(y^3aKfUyk)_#&YSU@L~qZ7)}X?O=6k$32b)Vg$}w>ic5l-_>k(&$i88~i=g zN>;`rVOCot+C3I|y84fNk-fCKlbDb_CL|^U_8JP|*{O)@nM&^pM^AyPi$!W-85FS!PZu#$P4jG7DPUcRq(t< zoev}AshZ1Zr2-dSn!|i6YLpA&pSW;Fvcwp;U_)`naJdU5KZfN*oK@gcTyo95V1%VT zj3-cx+Go*lP3SQ$uOJq#;V7~fwd!wY^(zbpXfEutw+msf`>s{3&MGV5S%Ed3-K-$v zF7r3YVGb@}j*(5UG3E(7$r4Jj!*6n2S}e9S3o65SFX0?+k^M3*;|}8Z!lvl-w85{p mXvfcQw^?v1cjq`K%RKQ=OA6}?_tyCmUvV$&(L3#~&B_6#WIoyxaJ zRZ?XZE@M&#tyq<%i)59Jo1`kAAgg2(tJM5Y-=3GEL#n9T_i^qy=XcLJ_YS{2{pn`_ z2k=D@TX8Oci6F`_S%o^hBh8cyr=@vUni*-{3*dYZL7bDp`_j8miHq|6K$=Sd7(s63 z@+{)gOH{$c`EbVb*jejoBn+>tm_7k(@FdOUB-$KQnL9?e-G3 z>1tE)_Laq~ic+ku-&Ei;55x+WWEV?920iHyNE26BDrcPTR}~Tu3cbRVXyFuLNZ_Dw;(P zEIVP|(9l_WTTx(qb0)1e%C0qBui(7vz3!OHrjs_uorFnVzir;&Hvb~0>3$|Pk#U$Z z8a9Or^{83Gm!)SlY$>pyR*o-ON$MM5s%zMla^|{hGc#)%cDidKwdBOj7_BCUZ9A1Q zGFHlF16_ z%Pg_JtA62O3v)zad=-`a5b|Zv+9EFQ!A{=Q_UbHQ? z{@`xWvOn?=y{@UqJyeW_@A6IWypO;`Y>>~`?PvdVM(?9?Iy`e1<^D^aBYxMBopb`I zrlK0QwPxtGtCpMuEO|D~MN>mfGi-%CgwKjCK=M(duv(oE9FI^P3^YU_3O1?cO zFDOdBkMjH3uYvCg8Ui@Lzv_QEROft<%e*^0;_v8$nCv2PG*28AWRkj!?7kFsD=N5q z3$<(|Obgp>j9n}Bx4DqwU^V*+l6G=vT?J@)DM3?G3P_}~Kt5=qR#HbGc=ve_k7z`~ zcBJJi^taIU@>}Q=f>Ga4Ys)QE)BV8cmp<+Gv%jO#&yu;(OE7xTJK7y8PyyV_3`Rle`8EbzORo5K$foVkY$3X*wA zqVih^xv3dptFL0?v^(ohe1l-5zIqik({9o}imamc`TQK=HS-oW;tUfd#;O}7$`}#G z8OSqCn74D_HLOOJpCGKd2P-*ql83`z%M5-VT=G*%39eepLe|3f6g2^yCa1RdG0O1< zWh$uSO@6B|LVr|D|D+btV?IC~q3dIj+VFietYTB7w$bar?Z1qZ1KAJC!n8K4ftPKCFYsm7B8bKOtY(u+ybLyGfz@PUgU8( zILBXYGyG|G0n146N0~eo3f|=L#W5=q@N?@TqiERnwJKkX+<6+2vRQDx4 zW}rTiRcp^yWVAg!Y?~=}nz}m1X5u3+sy!2^PABQmZ7=ZR9f8gIjM%G9**)^>6xIiG zm)dy<+_YffdI2fivQR{Y?bhv{Ms8b3BO_4aJk|d2eP4xL+4qx)4P5E>Waw%8+-d4A z1S;)+u+JYZ@SJpA6(xPXnNfVQwyo(6j$_7^KD3ZWLEu7SL*T_+686<8{mJrN;PsqY z=DHGv&R`h2>XoNQxHxfBoB9q4SbIUB!d+iRk&3dg1(v7g<|6ea!V345;@=_#Lobb1 zmX?7We;m!FeXU&9>n3K>S44^UII@fz^uD95^OT&%DHfdXSahD8V(BYgDcs?^n7~h& zw8?V|cj>E;L<;UvNI#{d1OxYZwkR|9u#|ER%XmPKmRcuE^D=qHwmQ7~vo%?a_nY(v>{`&p{zy{W4kwHmsPxbaJ3lq;RR4h0GnSt!~ zl|Z3+A_ubGmHttEzjLD8Xj5ReIV!+wO`Sa_SG<=*y|nAX7BpG3U<0O3{@yl zYPOYoyz56Q7agjBQAsBeqcS;ci-opp<5)8~_QFy_U}ZY@J>7NopL0s_WJKSDrn12H*QVOmE8jwc=|jxrZq8vV)KIU)B7{O zS>`n~Y*xCi3VDad3ju!$wWLLp=_fH$nt0Z0W60ha!}W6>>kV37UW-TNYNO6^8XD)# zHF2&r7ui;?AGqqZr<*>1X?SXSJZ)H*v2g=)HuAV-qkyV~Re_c11qAY!C!9lF*1u?R zVm2Q0(U^QmDHysw_%3)dkmVwkKj&ONuUXNTrmcY6^w0D3figvzbE+exoNq`wt0Ran zG^KEd`&{f^BW#U&9YxxflN2n_qQ6`WEn-cRFmRW8ky85>xb&AJK}{rfS6HO$GqvxNHJw;o-Qfg+*$DK##CA2C7r)jEwUY;@>cK5|F?! fd6`X2Sp1#*9}X9i$#ErS`UE#AvxLczD`S2G-G~;% diff --git a/build/classes/TechInterview/StackLinkedList.class b/build/classes/TechInterview/StackLinkedList.class index d42b32c6e9e7596a70e822a12d8727acc6f854d0..823fda55864d6fcd2c0b478c4034d5ca6ad36d68 100644 GIT binary patch literal 2750 zcma)8T~ixn6n@?$upwPapg;xM@>vW?09#QDNzoRm(uNNkY(@O&61K1qlDJ8z^(T0* zSKhTV-gr@+78sfFQfK@v{sljtvzw3v5SR?R`<{KzbDnda^Pc6;e}4T9z!<*P;8D1| zXr|U@G6mD#w#+A^$%2vEOjwysb2VY*3mSY1!3|^E7)=|QwbA*N4Kr0x@U5H1s=`3x zMDKyQ?5Y`4Xh>RX8KY3NO@*P8UE+(=vB{B=pD%BHLl-rpP#?E4R$)@X8yb4R_)|m< zz>6jw=b$%0p;<=*0t!uJZ_X9BR!n=*SV_~rC6P@T=?8{w$+~3p71pi1LifpZNWQ(+ z`)RI>a7yw{CiM5^iurYgwou}58Do-3eTW$kJJ< z_3EfYy+HNr7{FBpzmZCr`TW2e3inPybwxcnvb#sptJ^lxMMr}p*|RjMqHR-BR)E)B zHmA@U8am3FFrguC62>DsMnRfo#@7^XoQd%155TbZ@P8N1e)h6#m>m6EyU+eItAYT5yeqe(6|bxh)2_K=awnHiqP z;p3XDs-874F+XncaPqCIx*alQHe7w2{x7r0kP7%P*6MKaMA^G-u`Knv`> ziSa!Vgj3%>x|YI`U0j}xhF_v*4}Ib2EA)hyULxpwR1>?M?BOsDkjpt-WaM6=35OmR zt;B)27{u$09ANAaxq2L4m0iNi-8FQuOX{IS@&m3>hwFF5_HcJd2>woj4$t94*nPNm zKzEgNBQMko?)5p<>SSaf$jqD3L`x^R4v^y@*$C@)7q`T^i5a=9rG}Mv!qt5zT;Jl# z3pL0`_BO8~*)85hggR0R{^aZswM17qQOhdT9Z^Xvu1Xv?CAb&lCF(@?F}}2mSVA(L z{Sobv=pKf55N~;J2e%(`acwsG$G?9?b}(JZ`ii4;H~dtkkqQN=#ufDQ*Go;VR_PTj zvGKDiAK*hLdUusxZVhCYFl>ap6P2U}Iy`?Ps9{_~R|`uqgS#$!)xzqFUeEWT$o^g; z671MRVh8slLB0H-l^^cA55Hhhl5P2P7oRbmI5XP8mu2g!Ykj9%sa< zoU9RcH2BH%^FPRDX4pw_`}qloQkC1BV9SW1fH=OzO+4c;tMt!vWRatf`h~S>WBDT4f8QI0ZCs6+ZT8m>c literal 2872 zcma)7TUQfT7~LlqCW(Vw1wk#>YDi*0Ybyn$Rf{b&fHf3K?ZqLCVKhwAnF$ux>d$EV z6MU!-)(f)AT7C4P|D->nmwjd?BoS6%v6yqtcirFqzH{=|zkmD*;0hkca0YWxwBU0E znHYkYmxl$pTa=&M^7Dm)J26BtCqLN;mgM@S{46V2iP3?Yudph2Uq^8l-$d|j4Bz4V z2<}OtCT-Uu$jQUH0$m`qP+aGt&YGrf-7ILft=p7t=-Rr#aArx*ZOodEZfzO*qtUFR zGg8`c4W&vqs+3oU+A0BaL0AmS!fW)4pHGHXhSO%nCG38K&V(3k2gM z%gle%Mb*Mw`a*egO}Cb`wE}J1GsT=%Sk^2$8NQK*ZW z{-ILY-Vity&pgn!w9$fQ=0_LT9_Tq|QlbuTX@#;2@_?GYxw2)kJ`%uk<6NXmuv9Dw zbjC*xMigjv`JUHGex2d?i0e&`NLj=wW*y5g^KbimQf3L*YXUtrkv+|gvQb#qtw~N3 zhfQFpXywzU?yTvWX{WQrvX#>_`j%d}Zkk0$bBv-%b~|h0EN4~hh0URk#cIYgar z&2d_`OT{qWRWXPmfx)B4UYg%m@ecY_oCLz0RJNhOcp<>zLtLEi0ilevrsyIZTYn#N?;pV9qGgC<#6*$jzuVDo@ z2jy%%g8FhXz+a#<{Ot?ykCzAn{qAXiXWl{Xn<(Rz%@Aty_$r%`<7-Py9dT@!w23$Z@D+$Q6 zy1Z{CiRh;^fcGflCHBGo%-8|S;}YQ;40=G7Ov2kl_TjD*Zt|IUM%$1}Q!nWOTA`qg zU5wj;ZXYW%)R0%zNrawGqW*yYL5TA{)T>nT1>#rodY!8@4ij47 zscR|QB^wK7ueK>%lgVqGlz468E9qDMl&fr0Y7f!X*NA0g#q+5*=t-t_q3qy9ySjts z6&@njflSsU7qRjq84 z%I1!@d5#Xh==M&Q$jVNzxE-9TQFM8V?j4*ypzHB;y@&Z7KVbF7r8)56U`9BYZ5+*B z5-^0TBxW2l{9)5b-cO|O7hJ=0Oz)2u@B%mS34J5@jg|?LQn{O+