1. # LeetCode in Swift: Longest Palindromic Substring

Problem Statement Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring. Original LeetCode problem page My Solution in Swift Continue reading...

2. # LeetCode in Swift: Largest Rectangle in Histogram

Problem Statement Given n non-negative integers representing the histogram’s bar height where the width of each bar is 1, find the area of largest rectangle in the histogram. Above is a histogram where width of each bar is 1, given height = [2,1,5,6,2,3]. The largest rectangle is shown in the shaded area, which has area Continue reading...

3. # LeetCode in Swift: Word Search

Problem Statement Given a 2D board and a word, find if the word exists in the grid. The word can be constructed from letters of sequentially adjacent cell, where “adjacent” cells are those horizontally or vertically neighboring. The same letter cell may not be used more than once. For example, Given board =

4. # LeetCode in Swift: Reverse Words in a String

Problem Statement Given an input string, reverse the string word by word. For example: Given s = “ the sky is blue”, return “ blue is sky the”. Clarification: What constitutes a word? A sequence of non-space characters constitutes a word. Could the input string contain leading or trailing spaces? Yes. However, your reversed string should not contain leading or trailing spaces. How Continue reading...

5. # LeetCode in Swift: Binary Tree Level Order Traversal II

Problem Statement Given a binary tree, return the bottom-up level order traversal of its nodes’ values. (ie, from left to right, level by level from leaf to root). For example: Given binary tree {3,9,20,#,#,15,7},

return its bottom-up level order traversal as:

Original LeetCode problem page My Solution in Swift Continue reading...

6. # LeetCode in Swift: Binary Tree Level Order Traversal

Problem Statement Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level). For example: Given binary tree {3,9,20,#,#,15,7},

return its level order traversal as:

Original LeetCode problem page My Solution in Swift Continue reading...

7. # LeetCode in Swift: Binary Tree Preorder Traversal

Problem Statement Given a binary tree, return the preorder traversal of its nodes’ values. For example: Given binary tree {1,#,2,3},

return [1,2,3]. Note: Recursive solution is trivial, could you do it iteratively? Original LeetCode problem page My Solution in Swift Continue reading...

8. # LeetCode in Swift: Binary Tree Inorder Traversal

Problem Statement Given a binary tree, return the inorder traversal of its nodes’ values. For example: Given binary tree {1,#,2,3},

return [1,3,2]. Note: Recursive solution is trivial, could you do it iteratively? Original LeetCode problem page My Solution in Swift Continue reading...

9. # LeetCode in Swift: Binary Tree Postorder Traversal

Problem Statement Given a binary tree, return the postorder traversal of its nodes’ values. For example: Given binary tree {1,#,2,3},

return [3,2,1]. Note: Recursive solution is trivial, could you do it iteratively? Original LeetCode problem page My Solution in Swift Continue reading...

10. # LeetCode in Swift: Insertion Sort List

Problem Statement Sort a linked list using insertion sort. Original LeetCode problem page My Solution in Swift Every time after inserting a list node, I use a variable to record the reference to that node. When next uninserted list node comes in, it checks from the recorded last inserted node instead of restarting the checking from the head list node. Continue reading...