
Traverse input linked lists to create new lists, remove nodes, and merge two lists, including cases with two input lists.
Learn to reverse a linked list (lc 206) by using a previous and current pointer, iterating with a while loop, and returning the new head to pass LeetCode tests.
Detect a cycle in a linked list using slow and fast pointers. Return true for circular lists; false when a tail leads to null, using O(n) time and O(1) space.
Apply a two-pointer approach with a dummy head to remove the nth node from the end of a linked list, returning the updated head with O(n) time and O(1) space.
Merge two sorted linked lists with a dummy head and tail pointer to iteratively select the smaller node. Attach remainder when a list ends and achieve O(n+m) time, O(1) space.
Explore tree data structures and compare them to linked lists, focusing on binary trees and binary search trees, with a quick refresher and practical prompts.
Count islands in a matrix by scanning each cell, sinking each found island with DFS to mark connected land as water, counting one per island, even when touching the corners.
Invert a binary tree by swapping each node's left and right children using a helper recursion and a temporary variable, per LC #226.
Solve LeetCode 104 max depth of a binary tree with a recursive helper that tracks current depth, updates max depth at null nodes, and traverses left and right.
Explore binary tree level order traversal (lc #102) using a recursive helper to fill an array of level subarrays, and analyze time and space complexity.
Learn to determine if two trees are identical using a recursive helper that compares nodes p and q, with time complexity O(P+Q) and space O(1) (or O(P+Q) with recursion).
Validate binary search tree (lc #98) with a recursive helper enforcing min and max bounds. Traverse left and right, treat null as infinity, and achieve O(n) time.
Explore how to find the lowest common ancestor in a binary search tree using its property to move left or right from the root, iteratively or recursively.
Iteratively find the lowest common ancestor in a binary search tree by traversing from the root and returning the current node once found based on p and q values.
Finish this course and prepare for your next technical interview, increasing your chances of landing your dream job. Explore more courses at education.com for a full list of offerings.
Are you studying for that next coding interview but don’t know where to start? Or are you looking for a concise, easy-to-understand study guide with everything you need to know? Or are you looking for a powerful advantage over the competition to guarantee you that awesome job you’ve always wanted at your dream company?
THEN THIS IS THE COURSE FOR YOU!
In my LeetCode course, I will walk you through, step-by-step, all the different types of questions that appear during interviews! I am a self-taught programmer so I know what it feels like to really struggle during those technical interviews. Let me put it this way: I created the course I wish I had when I was studying for my technical interviews!
What is LeetCode?
LeetCode is a massive collection (1,050 and counting) of challenging coding problems. It has just about every problem you can imagine. In fact, many companies (including the Big 5 tech giants) use interview questions they find on LeetCode!
I have some good news for you: spending countless hours studying and solving every single problem is unnecessary. This course was designed to help you massively optimize your study time and put you on the quickest path to successfully achieving that dream job.
Contents and Overview
I know LeetCode questions are meant to be difficult, but do not worry! I made it a priority to present each problem in the most simplistic and direct way possible. You will benefit from my painless and easy-to-understand format, as I walk you through each problem, step-by-step. I cover everything from practical application of algorithms, to data structures, to time and space complexity.
I do not believe in wasting your time or my time. This means that unlike most "interview preparation courses" out there, I will not waste time going over obscure computer science theory or elementary programming concepts. Let me let you in on a little secret: obscure theory is almost always useless in an interview setting. On the other hand, my lectures are MASSIVELY practical, as in — they are exclusively about problem solving tricks/techniques and pattern recognition. REMEMBER: Your interviewer won't know (or care) about whether you've spent WEEKS memorizing theory prior to an interview, he or she will ONLY care about whether you can solve the coding challenge or not.
By the time you complete this course, you will be an expert in all the tricks, techniques, and patterns needed to solve even the most challenging of interview problems. Are you ready to supercharge your next technical interview and land that awesome dream job?!
We use basic JavaScript in this course, and even if you are new to JavaScript, do not worry! I have included a bonus crash-course in JavaScript at the start of the course. No prior JavaScript experience is required!
Course material is regularly refreshed to include all of the newest updates and information, and since you are granted lifetime access upon registering, you can rely on this course to keep your technical interviewing skills on the cutting edge.
There is no need to waste your time scouring the internet, frantically trying to piece together ways to solve coding challenges the night before a big, important interview. Invest in yourself, and allow me to show you the easiest ways to ace it!
Feel free to take a preview of this course to see if it is a good fit for you. I am so confident that you will love my course that I even offer a 100% 30-day money-back guarantee. You have absolutely nothing to lose, so come on in, and let's get started!