BAEL-3481 - Fixed Formatting.

This commit is contained in:
BudBak 2020-01-20 13:53:26 +05:30
parent 7c4cbc0968
commit 6a1f8e76c5
4 changed files with 155 additions and 167 deletions

View File

@ -5,36 +5,32 @@ import java.util.LinkedList;
public class BalancedBracketsUsingDeque { public class BalancedBracketsUsingDeque {
public boolean isBalanced(String str) { public boolean isBalanced(String str) {
if (null == str || ((str.length() % 2) != 0)) { if (null == str || ((str.length() % 2) != 0)) {
return false; return false;
} else { } else {
char[] ch = str.toCharArray(); char[] ch = str.toCharArray();
for (char c : ch) { for (char c : ch) {
if (!(c == '{' || c == '[' || c == '(' || c == '}' || c == ']' || c == ')')) { if (!(c == '{' || c == '[' || c == '(' || c == '}' || c == ']' || c == ')')) {
return false; return false;
}
}
} }
Deque<Character> deque = new LinkedList<>(); }
for (char ch: str.toCharArray()) {
if (ch == '{' || ch == '[' || ch == '(') {
deque.addFirst(ch);
} else {
if ( !deque.isEmpty()
&& ((deque.peekFirst() == '{' && ch == '}')
|| (deque.peekFirst() == '[' && ch == ']')
|| (deque.peekFirst() == '(' && ch == ')')
)) {
deque.removeFirst();
} else {
return false;
}
}
}
return true;
} }
Deque<Character> deque = new LinkedList<>();
for (char ch : str.toCharArray()) {
if (ch == '{' || ch == '[' || ch == '(') {
deque.addFirst(ch);
} else {
if (!deque.isEmpty() && ((deque.peekFirst() == '{' && ch == '}') || (deque.peekFirst() == '[' && ch == ']') || (deque.peekFirst() == '(' && ch == ')'))) {
deque.removeFirst();
} else {
return false;
}
}
}
return true;
}
} }

View File

@ -2,26 +2,26 @@ package com.baeldung.algorithms.balancedbrackets;
public class BalancedBracketsUsingString { public class BalancedBracketsUsingString {
public boolean isBalanced(String str) { public boolean isBalanced(String str) {
if (null == str || ((str.length() % 2) != 0)) { if (null == str || ((str.length() % 2) != 0)) {
return false; return false;
} else { } else {
char[] ch = str.toCharArray(); char[] ch = str.toCharArray();
for(char c : ch) { for (char c : ch) {
if(!(c == '{' || c == '[' || c == '(' || c == '}' || c == ']' || c == ')')) { if (!(c == '{' || c == '[' || c == '(' || c == '}' || c == ']' || c == ')')) {
return false; return false;
}
}
} }
while (str.contains("()") || str.contains("[]") || str.contains("{}")) { }
str = str.replaceAll("\\(\\)", "")
.replaceAll("\\[\\]", "")
.replaceAll("\\{\\}", "");
}
return (str.length() == 0);
} }
} while (str.contains("()") || str.contains("[]") || str.contains("{}")) {
str = str.replaceAll("\\(\\)", "")
.replaceAll("\\[\\]", "")
.replaceAll("\\{\\}", "");
}
return (str.length() == 0);
}
}

View File

@ -6,75 +6,71 @@ import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
public class BalancedBracketsUsingDequeUnitTest { public class BalancedBracketsUsingDequeUnitTest {
private BalancedBracketsUsingDeque balancedBracketsUsingDeque; private BalancedBracketsUsingDeque balancedBracketsUsingDeque;
@Before @Before
public void setup() { public void setup() {
balancedBracketsUsingDeque = new BalancedBracketsUsingDeque(); balancedBracketsUsingDeque = new BalancedBracketsUsingDeque();
} }
@Test
public void givenNullInput_whenCheckingForBalance_shouldReturnFalse() {
boolean result = balancedBracketsUsingDeque.isBalanced(null);
assertThat(result).isFalse();
}
@Test @Test
public void givenNullInput_whenCheckingForBalance_shouldReturnFalse() { public void givenEmptyString_whenCheckingForBalance_shouldReturnTrue() {
boolean result = balancedBracketsUsingDeque.isBalanced(null); boolean result = balancedBracketsUsingDeque.isBalanced("");
assertThat(result).isFalse(); assertThat(result).isTrue();
} }
@Test @Test
public void givenEmptyString_whenCheckingForBalance_shouldReturnTrue() { public void givenInvalidCharacterString_whenCheckingForBalance_shouldReturnFalse() {
boolean result = balancedBracketsUsingDeque.isBalanced(""); boolean result = balancedBracketsUsingDeque.isBalanced("abc[](){}");
assertThat(result).isTrue(); assertThat(result).isFalse();
} }
@Test @Test
public void givenInvalidCharacterString_whenCheckingForBalance_shouldReturnFalse() { public void givenOddLengthString_whenCheckingForBalance_shouldReturnFalse() {
boolean result = balancedBracketsUsingDeque.isBalanced("abc[](){}"); boolean result = balancedBracketsUsingDeque.isBalanced("{{[]()}}}");
assertThat(result).isFalse(); assertThat(result).isFalse();
} }
@Test @Test
public void givenOddLengthString_whenCheckingForBalance_shouldReturnFalse() { public void givenEvenLengthString_whenCheckingForBalance_shouldReturnFalse() {
boolean result = balancedBracketsUsingDeque.isBalanced("{{[]()}}}"); boolean result = balancedBracketsUsingDeque.isBalanced("{{[]()}}}}");
assertThat(result).isFalse(); assertThat(result).isFalse();
} }
@Test @Test
public void givenEvenLengthString_whenCheckingForBalance_shouldReturnFalse() { public void givenEvenLengthUnbalancedString_whenCheckingForBalance_shouldReturnFalse() {
boolean result = balancedBracketsUsingDeque.isBalanced("{{[]()}}}}"); boolean result = balancedBracketsUsingDeque.isBalanced("{[(])}");
assertThat(result).isFalse(); assertThat(result).isFalse();
} }
@Test @Test
public void givenEvenLengthUnbalancedString_whenCheckingForBalance_shouldReturnFalse() { public void givenEvenLengthBalancedString_whenCheckingForBalance_shouldReturnTrue() {
boolean result = balancedBracketsUsingDeque.isBalanced("{[(])}"); boolean result = balancedBracketsUsingDeque.isBalanced("{[()]}");
assertThat(result).isFalse(); assertThat(result).isTrue();
} }
@Test
public void givenBalancedString_whenCheckingForBalance_shouldReturnTrue() {
boolean result = balancedBracketsUsingDeque.isBalanced("{{[[(())]]}}");
assertThat(result).isTrue();
}
@Test @Test
public void givenEvenLengthBalancedString_whenCheckingForBalance_shouldReturnTrue() { public void givenAnotherBalancedString_whenCheckingForBalance_shouldReturnTrue() {
boolean result = balancedBracketsUsingDeque.isBalanced("{[()]}"); boolean result = balancedBracketsUsingDeque.isBalanced("{{([])}}");
assertThat(result).isTrue(); assertThat(result).isTrue();
} }
@Test @Test
public void givenBalancedString_whenCheckingForBalance_shouldReturnTrue() { public void givenUnBalancedString_whenCheckingForBalance_shouldReturnFalse() {
boolean result = balancedBracketsUsingDeque.isBalanced("{{[[(())]]}}"); boolean result = balancedBracketsUsingDeque.isBalanced("{{)[](}}");
assertThat(result).isTrue(); assertThat(result).isFalse();
} }
}
@Test
public void givenAnotherBalancedString_whenCheckingForBalance_shouldReturnTrue() {
boolean result = balancedBracketsUsingDeque.isBalanced("{{([])}}");
assertThat(result).isTrue();
}
@Test
public void givenUnBalancedString_whenCheckingForBalance_shouldReturnFalse() {
boolean result = balancedBracketsUsingDeque.isBalanced("{{)[](}}");
assertThat(result).isFalse();
}
}

View File

@ -6,75 +6,71 @@ import org.junit.Test;
import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThat;
public class BalancedBracketsUsingStringUnitTest { public class BalancedBracketsUsingStringUnitTest {
private BalancedBracketsUsingString balancedBracketsUsingString; private BalancedBracketsUsingString balancedBracketsUsingString;
@Before @Before
public void setup() { public void setup() {
balancedBracketsUsingString = new BalancedBracketsUsingString(); balancedBracketsUsingString = new BalancedBracketsUsingString();
} }
@Test
public void givenNullInput_whenCheckingForBalance_shouldReturnFalse() {
boolean result = balancedBracketsUsingString.isBalanced(null);
assertThat(result).isFalse();
}
@Test @Test
public void givenNullInput_whenCheckingForBalance_shouldReturnFalse() { public void givenEmptyString_whenCheckingForBalance_shouldReturnTrue() {
boolean result = balancedBracketsUsingString.isBalanced(null); boolean result = balancedBracketsUsingString.isBalanced("");
assertThat(result).isFalse(); assertThat(result).isTrue();
} }
@Test @Test
public void givenEmptyString_whenCheckingForBalance_shouldReturnTrue() { public void givenInvalidCharacterString_whenCheckingForBalance_shouldReturnFalse() {
boolean result = balancedBracketsUsingString.isBalanced(""); boolean result = balancedBracketsUsingString.isBalanced("abc[](){}");
assertThat(result).isTrue(); assertThat(result).isFalse();
} }
@Test @Test
public void givenInvalidCharacterString_whenCheckingForBalance_shouldReturnFalse() { public void givenOddLengthString_whenCheckingForBalance_shouldReturnFalse() {
boolean result = balancedBracketsUsingString.isBalanced("abc[](){}"); boolean result = balancedBracketsUsingString.isBalanced("{{[]()}}}");
assertThat(result).isFalse(); assertThat(result).isFalse();
} }
@Test @Test
public void givenOddLengthString_whenCheckingForBalance_shouldReturnFalse() { public void givenEvenLengthString_whenCheckingForBalance_shouldReturnFalse() {
boolean result = balancedBracketsUsingString.isBalanced("{{[]()}}}"); boolean result = balancedBracketsUsingString.isBalanced("{{[]()}}}}");
assertThat(result).isFalse(); assertThat(result).isFalse();
} }
@Test @Test
public void givenEvenLengthString_whenCheckingForBalance_shouldReturnFalse() { public void givenEvenLengthUnbalancedString_whenCheckingForBalance_shouldReturnFalse() {
boolean result = balancedBracketsUsingString.isBalanced("{{[]()}}}}"); boolean result = balancedBracketsUsingString.isBalanced("{[(])}");
assertThat(result).isFalse(); assertThat(result).isFalse();
} }
@Test @Test
public void givenEvenLengthUnbalancedString_whenCheckingForBalance_shouldReturnFalse() { public void givenEvenLengthBalancedString_whenCheckingForBalance_shouldReturnTrue() {
boolean result = balancedBracketsUsingString.isBalanced("{[(])}"); boolean result = balancedBracketsUsingString.isBalanced("{[()]}");
assertThat(result).isFalse(); assertThat(result).isTrue();
} }
@Test
public void givenBalancedString_whenCheckingForBalance_shouldReturnTrue() {
boolean result = balancedBracketsUsingString.isBalanced("{{[[(())]]}}");
assertThat(result).isTrue();
}
@Test @Test
public void givenEvenLengthBalancedString_whenCheckingForBalance_shouldReturnTrue() { public void givenAnotherBalancedString_whenCheckingForBalance_shouldReturnTrue() {
boolean result = balancedBracketsUsingString.isBalanced("{[()]}"); boolean result = balancedBracketsUsingString.isBalanced("{{([])}}");
assertThat(result).isTrue(); assertThat(result).isTrue();
} }
@Test @Test
public void givenBalancedString_whenCheckingForBalance_shouldReturnTrue() { public void givenUnBalancedString_whenCheckingForBalance_shouldReturnFalse() {
boolean result = balancedBracketsUsingString.isBalanced("{{[[(())]]}}"); boolean result = balancedBracketsUsingString.isBalanced("{{)[](}}");
assertThat(result).isTrue(); assertThat(result).isFalse();
} }
@Test
public void givenAnotherBalancedString_whenCheckingForBalance_shouldReturnTrue() {
boolean result = balancedBracketsUsingString.isBalanced("{{([])}}");
assertThat(result).isTrue();
}
@Test
public void givenUnBalancedString_whenCheckingForBalance_shouldReturnFalse() {
boolean result = balancedBracketsUsingString.isBalanced("{{)[](}}");
assertThat(result).isFalse();
}
} }