code tagged posts

Reverse Linked List in time O(n) & space O(1)

I’m not a dev but I do enjoy a coding challenge. In this blog post I will explain how to reverse a singly linked linked-list.

The data structure looks like this:

A simple code to implement a singly linked linkedlist is:

struct ListNode {
     int val;
     ListNode *next;
     ListNode(int x) : val(x), next(NULL) {}

To reverse the list: we need two pointers a previous pointer (prev) and a current one pointing to the current node we’re checking (curr). During exchanging pointers we will also a need a temporary pointer to hold the next pointer so we don’t lose track of our linked list during the reversing process

input: 1-2-3-4
output: 4-3-2-1

Needless to say you need to check for extreme cases such as an empty list, or a 1 element list.

Here is my code:

class Sol...
Read More

C0de-Puzzle: Printing int in reverse without IF statement

Challenge:  Write a function, that delivers following output: "1 2 3 4 5 4 3 2 1".

  • You only can use: 1 for loop, 2 int variables.
  • You must not use: IF terms, another function.
  • Do not hardcode the output (do NOT do: print("123454321")


STOP and think about a solution.

Read More