I have been practicing programming for a while now. Like other career-changers, I started with a crash course in Python, and although it was a short one, it took me forever to finish it. Procrastination is a real thing, especially when one must learn to think differently and out of their comfort zone. I also did a few courses on the database, networking, Linux, etc. Everything that a software developer must know. Yes, it was hard to digest at first. And no, things don’t get any easier either. However, if you have a mentor, you could save yourself a lot…
Today I picked up a random problem from Leetcode, as an easy exercise for a rainy Sunday. And, spoiler alert, it’s about one of my most favorite topics — Tree. So here we go.
You need to construct a string consists of parenthesis and integers from a binary tree with the preorder traversing way.
The null node needs to be represented by empty parenthesis pair “()”. And you need to omit all the empty parenthesis pairs that don’t affect the one-to-one mapping relationship between the string and the original binary tree.
Input: Binary tree: [1,2,3,null,4]…
This is the first post on my series of Leetcode solutions. I would try to explain my solution as clearly as possible. Some of my solutions might not be as optimized as others. Thus, constructive criticism would be highly appreciated.
Given an array of integers
nums sorted in ascending order, find the starting and ending position of a given
target is not found in the array, return
The professionals always say that in order to sharpen your algorithm problem-solving skills, the best way is to keep practicing. It’s true not only for beginners but also professionals as coding is always a part of the interview processes for any developing or engineering-related positions. You can start by doing three exercises per week if it takes you almost the whole afternoon trying to solve a problem, or if you are motivated enough, one every day would be perfect.
So you are a beginner, maybe self-taught like myself, after having loaded your brain with tons of new concepts and theories, you’ve decided that it’s time to start your own project, something that you can actually see and feel (you know what I mean). You’ve found some short courses or quick tutorials that show you how to create your first application. You can finally make something that is different from reversing a string or traversing a tree, something… real. You now can run your application on a local machine and see what’s actually like. But after that, you’re getting more…
One of the first things you need to know when learning programming is the recursion algorithm. Recursion is basically a function that keeps calling itself until it reaches a base case. A base case is a simple condition for the function to return a value.
Most beginner programmers like myself would find it hard to wrap their heads around the idea of recursion since it requires another way of thinking. Let’s take a look at one of the most common applications of recursion — reverse a string. …
A Tree is one of the most commonly used data structures among others.
“ A data structure that stimulates the hierarchical tree structure, with a root value and subtrees of children with a parent node, represented as a set of linked nodes. “
The topic of today is Binary Tree. So a binary tree has a similar structure to a general tree but a parent node of a binary tree has no more than two children. This makes operations like inserting a new element or searching for a value in the tree become less complicated.
Geeksforgeeks.org clarifies the…
One step at a time