Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit de2a295

Browse files
author
Ram swaroop
committed
remove middle points from line segments: done
1 parent f4e20cd commit de2a295

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

src/me/ramswaroop/linkedlists/RemoveMiddlePointsFromLineSegments.java

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,28 @@
1212
*/
1313
public class RemoveMiddlePointsFromLineSegments {
1414

15-
public static <E extends Comparable<E>> void removeMiddlePointsFromLineSegments(SingleLinkedNode<E> node) {
15+
public static void removeMiddlePointsFromLineSegments(SingleLinkedNode<Point> node) {
1616

17-
}
17+
SingleLinkedNode<Point> curr1 = node, curr2 = node;
1818

19+
while (curr1 != null && curr1.next != null) {
20+
// vertical line
21+
if (curr1.item.x == curr1.next.item.x) {
22+
while (curr2.next != null && curr2.next.item.x == curr1.item.x) {
23+
curr2 = curr2.next;
24+
}
25+
curr1.next = curr2;
26+
} else if (curr1.item.y == curr1.next.item.y) { // horizontal line
27+
while (curr2.next != null && curr2.next.item.y == curr1.item.y) {
28+
curr2 = curr2.next;
29+
}
30+
curr1.next = curr2;
31+
} else {
32+
return;
33+
}
34+
curr1 = curr1.next;
35+
}
36+
}
1937

2038
public static void main(String a[]) {
2139
SingleLinkedList<Point> linkedList = new SingleLinkedList<>();
@@ -34,6 +52,7 @@ public static void main(String a[]) {
3452
}
3553

3654
class Point implements Comparable<Point> {
55+
3756
int x, y;
3857

3958
Point(int x, int y) {

0 commit comments

Comments
 (0)