Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First round of converted samples #6

Merged
merged 52 commits into from
Aug 13, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
7f61067
Adding to BigIntMod python code
vprusso Jun 28, 2019
d1ad539
Adding FindDuplicates python code
vprusso Jun 28, 2019
6732f06
Adding IntToRoman python
vprusso Jun 28, 2019
7ce9b4b
Rename to be consistent
vprusso Jun 28, 2019
2b1be53
Adding LinkedListCycle
vprusso Jun 28, 2019
23bf9de
Adding NthToLast Python code
vprusso Jun 28, 2019
5f97fbc
Added ZeroMatrix Python file
vprusso Jun 28, 2019
bc5daf7
Adding to ConsecutiveArray Python file
vprusso Jun 29, 2019
bc29339
Adding to BuildOrder Python file
vprusso Jul 1, 2019
3264df1
Adding to Python solutions
vprusso Jul 3, 2019
1b46d29
Update to README
vprusso Jul 3, 2019
20a791b
Adding to README
vprusso Jul 3, 2019
4ff2e40
Adding to README
vprusso Jul 3, 2019
439e265
Adding Knapsack to code
vprusso Jul 6, 2019
aa910e7
Updated README
vprusso Jul 6, 2019
b40e81d
Added to README
vprusso Jul 6, 2019
d3e8213
Updating README file
vprusso Jul 6, 2019
75803d6
Updating README
vprusso Jul 6, 2019
90d3380
Adding to README
vprusso Jul 6, 2019
e430ca1
Adding CPP FizzBuzz
vprusso Jul 6, 2019
80237f4
Updates to readme
vprusso Jul 6, 2019
ce3d44d
Adding Java FizzBuzz
vprusso Jul 7, 2019
645eb31
Adding Ones Binary in Python and Java
vprusso Jul 7, 2019
1fc57cf
Adding to README
vprusso Jul 7, 2019
31a700e
Adding to Anagrams and OnesInBinary
vprusso Jul 9, 2019
40cb86b
Updates to README
vprusso Jul 9, 2019
f87536f
Adding to String Deletion
vprusso Jul 9, 2019
ec20fd4
Adding Sum problem for Python and Java
vprusso Jul 11, 2019
cd02973
Adding to Fibonacci for Python and Java
vprusso Jul 11, 2019
f97743c
Adding CPP for Fibonacci
vprusso Jul 11, 2019
8422507
Adding to smallest change for Java and Python
vprusso Jul 11, 2019
9cb7b5d
t
vprusso Jul 11, 2019
505ff75
Adding to Swap variables for all CPP,Python, and Java
vprusso Jul 11, 2019
4a329e8
Adding to ClockAngle code
vprusso Jul 11, 2019
160cbb1
IntToRoman C++
vprusso Jul 18, 2019
367653f
Adding to dedup linked list
vprusso Jul 19, 2019
5beac7b
Adding to dedup linked list
vprusso Jul 21, 2019
bda4e27
Adding to Random linked list
vprusso Jul 22, 2019
262f3a9
Adding to FindDuplicates for C++
vprusso Jul 25, 2019
f03af31
Adding to Two Missing
vprusso Jul 25, 2019
bccd4f4
Adding to ReverseStack for Java and Python
vprusso Jul 31, 2019
0ec613f
Adding to ReverseStack
vprusso Aug 1, 2019
4ed5c47
Adding to Gray Code
vprusso Aug 1, 2019
8b2a18b
Adding to PrintReversedLsit
vprusso Aug 1, 2019
70e366a
Adding to README
vprusso Aug 1, 2019
d6d50e6
Adding to RotateBits
vprusso Aug 2, 2019
ce8e85b
Adding to string compression for Java and Python
vprusso Aug 3, 2019
a62f894
Adding README
vprusso Aug 3, 2019
13775cd
Updates to StringCompression python file
vprusso Aug 4, 2019
5441eb0
Adding to line intersection
vprusso Aug 4, 2019
ccb3f6b
Adding to MaxStack
vprusso Aug 12, 2019
86d8111
Adding to TreeLevelOrder
vprusso Aug 12, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Adding to PrintReversedLsit
  • Loading branch information
vprusso committed Aug 1, 2019
commit 8b2a18b78ce651e0cd869b9ae1cc121a4c53e78b
87 changes: 87 additions & 0 deletions cpp/PrintReversedList.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
/*
* Title: Print reverse list
*
* Execution: g++ PrintReverseList.cpp -o PrintReverseList
*
* For more details, check out http://www.byte-by-byte.com/printreverselist/
*/

#include <iostream>
#include <vector>

using namespace std;

struct Node {
int value;
Node *next;
};

void printReverseList(Node *n) {
if (n == NULL) {
return;
}
printReverseList(n->next);
cout << n->value << endl;
}

void test_1() {

cout << "Original list: 1->2->3" << endl;
Node *n1 = new Node();
Node *n2 = new Node();
Node *n3 = new Node();

n1->value = 1;
n1->next = n2;

n2->value = 2;
n2->next = n3;

n3->value = 3;
n3->next = NULL;

printReverseList(n1);
}

void test_2() {

cout << "Original list: 3->2->1" << endl;
Node *n1 = new Node();
Node *n2 = new Node();
Node *n3 = new Node();

n1->value = 3;
n1->next = n2;

n2->value = 2;
n2->next = n3;

n3->value = 1;
n3->next = NULL;

printReverseList(n1);
}

void test_3() {

cout << "Original list: 10->9" << endl;
Node *n1 = new Node();
Node *n2 = new Node();

n1->value = 10;
n1->next = n2;

n2->value = 9;
n2->next = NULL;

printReverseList(n1);
}

int main() {

test_1();
test_2();
test_3();

return 0;
}
76 changes: 76 additions & 0 deletions java/PrintReversedList.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
/*
* Title: Print reversed list
*
* Given a linked list, write a function that prints the nodes of the
* list in reverse order.
*
* Execution: javac PrintReversedList.java && java PrintReversedList
*
* For more details, check out http://www.byte-by-byte.com/printreversedlist/
*/

public class PrintReversedList {

private static class Node {
private int value;
private Node next;

private Node(int value) {
this.value = value;
}
}

public static void printReversedList(Node n) {
if (n == null) {
return;
}
printReversedList(n.next);
System.out.println(n.value);
}

public static void test_1() {
System.out.println("Original: 1->2->3->4");
Node n = new Node(1);
n.next = new Node(2);
n.next.next = new Node(3);
n.next.next.next = new Node(4);

printReversedList(n);
}

public static void test_2() {
System.out.println("Original: 4->3->2->1");
Node n = new Node(4);
n.next = new Node(3);
n.next.next = new Node(2);
n.next.next.next = new Node(1);

printReversedList(n);
}

public static void test_3() {
System.out.println("Original: 10->9->8");
Node n = new Node(10);
n.next = new Node(9);
n.next.next = new Node(8);

printReversedList(n);
}
// Sample test cases
public static void main(String[] args) {

System.out.println("Test 1:");
test_1();
System.out.println("\n");

System.out.println("Test 2:");
test_2();
System.out.println("\n");

System.out.println("Test 3:");
test_3();
System.out.println("\n");

System.out.println("Passed all test cases");
}
}
79 changes: 79 additions & 0 deletions python/PrintReverseList.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
"""
Title: Remove duplicates from linked list.

Given a linked list, write a function that prints the nodes of
the list in reverse order.

Execution: python DedupLinkedList.py

For more details, check out http://www.byte-by-byte.com/printreverselist/
"""
import unittest


class Node:
"""
Node class for Linked List.
"""
def __init__(self, value=None):
self.value = value
self.next = None


class LinkedList:
def __init__(self):
self.head = None

def append(self, data):
new_node = Node(data)

if self.head is None:
self.head = new_node
return

last_node = self.head
while last_node.next:
last_node = last_node.next
last_node.next = new_node

def print_reversed_list(self, node):
if node is None:
return
self.print_reversed_list(node.next)
print(node.value)


class TestNthToLast(unittest.TestCase):

def test_1(self):
print("Before list: 1->2->3->4")
ll = LinkedList()
ll.append(1)
ll.append(2)
ll.append(3)
ll.append(4)

ll.print_reversed_list(ll.head)

def test_2(self):
print("Before list: 4->3->2->1")
ll = LinkedList()
ll.append(4)
ll.append(3)
ll.append(2)
ll.append(1)

ll.print_reversed_list(ll.head)

def test_3(self):
print("Before list: 10->9->8")
ll = LinkedList()
ll.append(10)
ll.append(9)
ll.append(8)

ll.print_reversed_list(ll.head)

if __name__ == '__main__':
unittest.main()