Skip to content

Commit 59f362d

Browse files
Merge remote-tracking branch 'upstream/master'
2 parents 5a3d6a0 + 2de43c1 commit 59f362d

1,163 files changed

Lines changed: 68518 additions & 1532 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
.idea/
2020
*.iml
2121
*.iws
22+
out/
2223

2324
# Mac
2425
.DS_Store
@@ -27,6 +28,9 @@
2728
log/
2829
target/
2930

31+
# Gradle
32+
.gradle/
33+
3034
spring-openid/src/main/resources/application.properties
3135
.recommenders/
3236
/spring-hibernate4/nbproject/

akka-streams/pom.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,18 +14,19 @@
1414
<dependencies>
1515
<dependency>
1616
<groupId>com.typesafe.akka</groupId>
17-
<artifactId>akka-stream_2.11</artifactId>
17+
<artifactId>akka-stream_${scala.version}</artifactId>
1818
<version>${akkastreams.version}</version>
1919
</dependency>
2020
<dependency>
2121
<groupId>com.typesafe.akka</groupId>
22-
<artifactId>akka-stream-testkit_2.11</artifactId>
22+
<artifactId>akka-stream-testkit_${scala.version}</artifactId>
2323
<version>${akkastreams.version}</version>
2424
</dependency>
2525
</dependencies>
2626

2727
<properties>
2828
<akkastreams.version>2.5.2</akkastreams.version>
29+
<scala.version>2.11</scala.version>
2930
</properties>
3031

3132
</project>
Lines changed: 42 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,42 @@
1-
package com.baeldung.algorithms.reversingtree;
2-
3-
public class TreeNode {
4-
5-
private int value;
6-
private TreeNode rightChild;
7-
private TreeNode leftChild;
8-
9-
public int getValue() {
10-
return value;
11-
}
12-
13-
public void setValue(int value) {
14-
this.value = value;
15-
}
16-
17-
public TreeNode getRightChild() {
18-
return rightChild;
19-
}
20-
21-
public void setRightChild(TreeNode rightChild) {
22-
this.rightChild = rightChild;
23-
}
24-
25-
public TreeNode getLeftChild() {
26-
return leftChild;
27-
}
28-
29-
public void setLeftChild(TreeNode leftChild) {
30-
this.leftChild = leftChild;
31-
}
32-
33-
public TreeNode(int value, TreeNode rightChild, TreeNode leftChild) {
34-
this.value = value;
35-
this.rightChild = rightChild;
36-
this.leftChild = leftChild;
37-
}
38-
39-
public TreeNode(int value) {
40-
this.value = value;
41-
}
42-
}
1+
package com.baeldung.algorithms.reversingtree;
2+
3+
public class TreeNode {
4+
5+
private int value;
6+
private TreeNode rightChild;
7+
private TreeNode leftChild;
8+
9+
public int getValue() {
10+
return value;
11+
}
12+
13+
public void setValue(int value) {
14+
this.value = value;
15+
}
16+
17+
public TreeNode getRightChild() {
18+
return rightChild;
19+
}
20+
21+
public void setRightChild(TreeNode rightChild) {
22+
this.rightChild = rightChild;
23+
}
24+
25+
public TreeNode getLeftChild() {
26+
return leftChild;
27+
}
28+
29+
public void setLeftChild(TreeNode leftChild) {
30+
this.leftChild = leftChild;
31+
}
32+
33+
public TreeNode(int value, TreeNode leftChild, TreeNode rightChild) {
34+
this.value = value;
35+
this.rightChild = rightChild;
36+
this.leftChild = leftChild;
37+
}
38+
39+
public TreeNode(int value) {
40+
this.value = value;
41+
}
42+
}
Lines changed: 53 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,53 @@
1-
package com.baeldung.algorithms.reversingtree;
2-
3-
import java.util.LinkedList;
4-
5-
public class TreeReverser {
6-
7-
public TreeNode createBinaryTree() {
8-
9-
TreeNode leaf1 = new TreeNode(3);
10-
TreeNode leaf2 = new TreeNode(1);
11-
TreeNode leaf3 = new TreeNode(9);
12-
TreeNode leaf4 = new TreeNode(6);
13-
14-
TreeNode nodeLeft = new TreeNode(2, leaf1, leaf2);
15-
TreeNode nodeRight = new TreeNode(7, leaf3, leaf4);
16-
17-
TreeNode root = new TreeNode(4, nodeRight, nodeLeft);
18-
19-
return root;
20-
}
21-
22-
public void reverseRecursive(TreeNode treeNode) {
23-
if (treeNode == null) {
24-
return;
25-
}
26-
27-
TreeNode temp = treeNode.getLeftChild();
28-
treeNode.setLeftChild(treeNode.getRightChild());
29-
treeNode.setRightChild(temp);
30-
31-
reverseRecursive(treeNode.getLeftChild());
32-
reverseRecursive(treeNode.getRightChild());
33-
}
34-
35-
public void reverseIterative(TreeNode treeNode) {
36-
LinkedList<TreeNode> queue = new LinkedList<TreeNode>();
37-
38-
if (treeNode != null) {
39-
queue.add(treeNode);
40-
}
41-
42-
while (!queue.isEmpty()) {
43-
44-
TreeNode node = queue.poll();
45-
if (node.getLeftChild() != null)
46-
queue.add(node.getLeftChild());
47-
if (node.getRightChild() != null)
48-
queue.add(node.getRightChild());
49-
50-
TreeNode temp = node.getLeftChild();
51-
node.setLeftChild(node.getRightChild());
52-
node.setRightChild(temp);
53-
}
54-
}
55-
56-
public String toString(TreeNode root) {
57-
if (root == null) {
58-
return "";
59-
}
60-
61-
StringBuffer buffer = new StringBuffer(String.valueOf(root.getValue())).append(" ");
62-
63-
buffer.append(toString(root.getLeftChild()));
64-
buffer.append(toString(root.getRightChild()));
65-
66-
return buffer.toString();
67-
}
68-
}
1+
package com.baeldung.algorithms.reversingtree;
2+
3+
import java.util.LinkedList;
4+
5+
public class TreeReverser {
6+
7+
public void reverseRecursive(TreeNode treeNode) {
8+
if (treeNode == null) {
9+
return;
10+
}
11+
12+
TreeNode temp = treeNode.getLeftChild();
13+
treeNode.setLeftChild(treeNode.getRightChild());
14+
treeNode.setRightChild(temp);
15+
16+
reverseRecursive(treeNode.getLeftChild());
17+
reverseRecursive(treeNode.getRightChild());
18+
}
19+
20+
public void reverseIterative(TreeNode treeNode) {
21+
LinkedList<TreeNode> queue = new LinkedList<TreeNode>();
22+
23+
if (treeNode != null) {
24+
queue.add(treeNode);
25+
}
26+
27+
while (!queue.isEmpty()) {
28+
29+
TreeNode node = queue.poll();
30+
if (node.getLeftChild() != null)
31+
queue.add(node.getLeftChild());
32+
if (node.getRightChild() != null)
33+
queue.add(node.getRightChild());
34+
35+
TreeNode temp = node.getLeftChild();
36+
node.setLeftChild(node.getRightChild());
37+
node.setRightChild(temp);
38+
}
39+
}
40+
41+
public String toString(TreeNode root) {
42+
if (root == null) {
43+
return "";
44+
}
45+
46+
StringBuffer buffer = new StringBuffer(String.valueOf(root.getValue())).append(" ");
47+
48+
buffer.append(toString(root.getLeftChild()));
49+
buffer.append(toString(root.getRightChild()));
50+
51+
return buffer.toString();
52+
}
53+
}
Lines changed: 47 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,47 @@
1-
package com.baeldung.algorithms.reversingtree;
2-
3-
import static org.junit.jupiter.api.Assertions.assertEquals;
4-
5-
import org.junit.jupiter.api.Test;
6-
7-
public class TreeReverserUnitTest {
8-
9-
@Test
10-
public void givenTreeWhenReversingRecursivelyThenReversed() {
11-
TreeReverser reverser = new TreeReverser();
12-
13-
TreeNode treeNode = reverser.createBinaryTree();
14-
15-
reverser.reverseRecursive(treeNode);
16-
17-
assertEquals("4 7 9 6 2 3 1", reverser.toString(treeNode)
18-
.trim());
19-
}
20-
21-
@Test
22-
public void givenTreeWhenReversingIterativelyThenReversed() {
23-
TreeReverser reverser = new TreeReverser();
24-
25-
TreeNode treeNode = reverser.createBinaryTree();
26-
27-
reverser.reverseIterative(treeNode);
28-
29-
assertEquals("4 7 9 6 2 3 1", reverser.toString(treeNode)
30-
.trim());
31-
}
32-
33-
}
1+
package com.baeldung.algorithms.reversingtree;
2+
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
5+
import org.junit.jupiter.api.Test;
6+
7+
public class TreeReverserUnitTest {
8+
9+
@Test
10+
public void givenTreeWhenReversingRecursivelyThenReversed() {
11+
TreeReverser reverser = new TreeReverser();
12+
13+
TreeNode treeNode = createBinaryTree();
14+
15+
reverser.reverseRecursive(treeNode);
16+
17+
assertEquals("4 7 9 6 2 3 1", reverser.toString(treeNode)
18+
.trim());
19+
}
20+
21+
@Test
22+
public void givenTreeWhenReversingIterativelyThenReversed() {
23+
TreeReverser reverser = new TreeReverser();
24+
25+
TreeNode treeNode = createBinaryTree();
26+
27+
reverser.reverseIterative(treeNode);
28+
29+
assertEquals("4 7 9 6 2 3 1", reverser.toString(treeNode)
30+
.trim());
31+
}
32+
33+
private TreeNode createBinaryTree() {
34+
35+
TreeNode leaf1 = new TreeNode(1);
36+
TreeNode leaf2 = new TreeNode(3);
37+
TreeNode leaf3 = new TreeNode(6);
38+
TreeNode leaf4 = new TreeNode(9);
39+
40+
TreeNode nodeRight = new TreeNode(7, leaf3, leaf4);
41+
TreeNode nodeLeft = new TreeNode(2, leaf1, leaf2);
42+
43+
TreeNode root = new TreeNode(4, nodeLeft, nodeRight);
44+
45+
return root;
46+
}
47+
}

antlr/pom.xml

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@
1010
<version>1.0.0-SNAPSHOT</version>
1111
</parent>
1212

13+
<dependencies>
14+
<dependency>
15+
<groupId>org.antlr</groupId>
16+
<artifactId>antlr4-runtime</artifactId>
17+
<version>${antlr.version}</version>
18+
</dependency>
19+
</dependencies>
20+
1321
<build>
1422
<plugins>
1523
<plugin>
@@ -44,13 +52,7 @@
4452
</plugin>
4553
</plugins>
4654
</build>
47-
<dependencies>
48-
<dependency>
49-
<groupId>org.antlr</groupId>
50-
<artifactId>antlr4-runtime</artifactId>
51-
<version>${antlr.version}</version>
52-
</dependency>
53-
</dependencies>
55+
5456
<properties>
5557
<antlr.version>4.7.1</antlr.version>
5658
<mojo.version>3.0.0</mojo.version>

0 commit comments

Comments
 (0)