Flatten Binary Tree to Linked List

Title: Flatten Binary Tree to Linked List Source: leetcode.com Given a binary tree, flatten it to a linked list in-place. For example, Given 1 / \ 2 5 / \ \ 3 4 6 12345          1        / \       2   5      / \   \     3   4   6 1 \ 2 \ 3 \ 4 \ 5 \ ...

Evaluate Reverse Polish Notation

Title: Evaluate Reverse Polish Notation Source: leetcode.com Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, *, /. Each operand may be an integer or another expression. Some examples: ["2", "1", "+", "3", "*"] -> ((2 + 1) * 3) -> 9 ["4", "13", "5", "/", "+"] -> ...

Combination Sum

Title: Combination Sum Source: leetcode.com Given a set of candidate numbers (C) and a target number (T), find all unique combinations in C where the candidate numbers sums to T. The same repeated number may be chosen from C unlimited number of times. Note: All numbers (including target) will be positive integers. Elements in a ...

Combinations

Title: Combinations Source: leetcode.com Given two integers n and k, return all possible combinations of k numbers out of 1 … n. For example, If n = 4 and k = 2, a solution is: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 12345678 [  [2,4],  [3,4],  [2,3],  [1,2],  [1,3],  [1,4],] Python solution (a) Python ''' https://leetcode.com/problems/combinations/ ''' class Solution(object): def ...

Binary Tree Postorder Traversal

Title: Binary Tree Postorder Traversal Source: leetcode.com Given a binary tree, return the postorder traversal of its nodes’ values. For example: Given binary tree {1,#,2,3}, 1 \ 2 / 3 12345    1    \     2    /   3 return [3,2,1]. Note: Recursive solution is trivial, could you do it iteratively? Python solution (Iterative) Python ''' https://leetcode.com/problems/binary-tree-postorder-traversal/ ''' # ...

Binary Tree Zigzag Level Order Traversal

Title: Binary Tree Zigzag Level Order Traversal Source: leetcode.com Given a binary tree, return the zigzag level order traversal of its nodes’ values. (ie, from left to right, then right to left for the next level and alternate between). For example: Given binary tree {3,9,20,#,#,15,7}, 3 / \ 9 20 / \ 15 7 12345 ...

Binary Tree Right Side View

Title: Binary Tree Right Side View Source: leetcode.com Given a binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can see ordered from top to bottom. For example: Given the following binary tree, 1 <--- / \ 2 3 <--- \ \ 5 4 <--- 12345 ...

Word Search

Title: Word Search Source: leetcode.com 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 ...

Word Pattern 1

Title: Word Pattern Source: leetcode.com Given a pattern and a string str, find if str follows the same pattern. Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in str. Examples: pattern = "abba", str = "dog cat cat dog" should return true. ...

Valid Anagram

Title: Valid Anagram Source: leetcode.com Given two strings s and t, write a function to determine if t is an anagram of s. For example, s = “anagram”, t = “nagaram”, return true. s = “rat”, t = “car”, return false. Note: You may assume the string contains only lowercase alphabets. Follow up: What if ...