Letter Combinations of a Phone Number

Title: Letter Combinations of a Phone Number Source: leetcode.com Given a digit string, return all possible letter combinations that the number could represent. A mapping of digit to letters (just like on the telephone buttons) is given below. image source: leetcode.com Input: Digit string "23" Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]. ...

Linked List Cycle II

Title: Linked List Cycle II Source: leetcode.com Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Note: Do not modify the linked list. Follow up: Can you solve it without using extra space? Python solution Python ''' https://leetcode.com/problems/linked-list-cycle-ii/ ''' # Definition for singly-linked list. # class ...

H-Index

Title: H-Index Source: leetcode.com Given an array of citations (each citation is a non-negative integer) of a researcher, write a function to compute the researcher’s h-index. According to the definition of h-index on Wikipedia: “A scientist has index h if h of his/her N papers have at least h citations each, and the other N ...

Gas Station

Title: Gas Station Source: leetcode.com There are N gas stations along a circular route, where the amount of gas at station i is gas[i]. You have a car with an unlimited gas tank and it costs cost[i] of gas to travel from station i to its next station (i+1). You begin the journey with an ...

Game of Life

Title: Game of Life Source: leetcode.com According to the Wikipedia’s article: “The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970.” Given a board with m by n cells, each cell has an initial state live (1) or dead (0). Each cell ...

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/ ''' # ...