剑指offer
文章平均质量分 78
蝌蚪123456
这个作者很懒,什么都没留下…
展开
-
93. Spiral Matrix
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral order.For example,Given the following matrix:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]原创 2016-01-26 20:24:20 · 248 阅读 · 0 评论 -
36.Search for a Range
Given a sorted array of integers, find the starting and ending position of a given target value.Your algorithm's runtime complexity must be in the order of O(log n).If the target is not found原创 2015-10-21 16:30:42 · 298 阅读 · 0 评论 -
3.Maximum Depth of Binary Tree
Maximum Depth of Binary Treeleetcode上原题目为:Given a binary tree, find its maximum depth.The maximum depth is the number of nodes along the longest path from the root node down to the farthes原创 2015-10-13 20:43:28 · 377 阅读 · 0 评论 -
31.Balanced Binary Tree
Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never diffe原创 2015-10-20 17:49:34 · 353 阅读 · 0 评论 -
52.Single Number III
public int[] singleNumber(int[] nums) { int[] numR = new int[2]; int pos=0; Arrays.sort(nums);//首先对数组进行排序 for(int i=0;i<nums.length-1;i=i+2){ if(nums[i]!=nums[i+1]){//判断当前数字与其后一个数字是否相等原创 2016-01-05 17:29:39 · 247 阅读 · 0 评论 -
91. String to Integer (atoi)
Implement atoi to convert a string to an integer.Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what are the possible input ca原创 2016-01-25 22:28:18 · 374 阅读 · 0 评论 -
65. Symmetric Tree
Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center).For example, this binary tree is symmetric: 1 / \ 2 2 / \ / \3 4 4 3But the f原创 2016-01-23 16:29:33 · 242 阅读 · 0 评论 -
32.Binary Tree Level Order Traversal
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}, 3 / \ 9 20原创 2015-10-20 21:17:19 · 233 阅读 · 0 评论 -
101.Remove Duplicates from Sorted List II
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numbers from the original list.For example,Given 1->2->3->3->4->4->5, return 1->2->5.Given 1->1-原创 2016-02-27 21:49:43 · 204 阅读 · 0 评论 -
48.Linked List Cycle II
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?分析:题原创 2015-10-27 16:01:17 · 247 阅读 · 0 评论 -
108.Kth Smallest Element in a BST
Given a binary search tree, write a function kthSmallest to find the kth smallest element in it.Note: You may assume k is always valid, 1 ≤ k ≤ BST's total elements.Follow up:What if the原创 2016-04-10 10:27:37 · 238 阅读 · 0 评论 -
110.Find Minimum in Rotated Sorted Array
Suppose a sorted array is rotated at some pivot unknown to you beforehand.(i.e., 0 1 2 4 5 6 7 might become 4 5 6 7 0 1 2).Find the minimum element.You may assume no duplicate exists in原创 2016-04-17 08:21:18 · 210 阅读 · 0 评论 -
139.Serialize and Deserialize Binary Tree
Serialization is the process of converting a data structure or object into a sequence of bits so that it can be stored in a file or memory buffer, or transmitted across a network connection link to be原创 2016-05-25 22:54:13 · 249 阅读 · 0 评论 -
135.Binary Tree Zigzag Level Order Traversal
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原创 2016-05-23 17:24:44 · 217 阅读 · 0 评论 -
162.Number of Digit One
Given an integer n, count the total number of digit 1 appearing in all non-negative integers less than or equal to n.For example:Given n = 13,Return 6, because digit 1 occurred in the followin原创 2016-08-31 22:06:34 · 304 阅读 · 0 评论 -
152.First Unique Character in a String
Given a string, find the first non-repeating character in it and return it's index. If it doesn't exist, return -1.Examples:s = "leetcode"return 0.s = "loveleetcode",return 2.Note:原创 2016-08-22 14:09:57 · 278 阅读 · 0 评论 -
49.Intersection of Two Linked Lists
Write a program to find the node at which the intersection of two singly linked lists begins.For example, the following two linked lists:A: a1 → a2 ↘原创 2015-10-27 16:08:22 · 233 阅读 · 0 评论 -
39.Ugly Number II(动态规划)
Write a program to find the n-th ugly number.Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 is the sequence of the first原创 2015-10-23 12:27:44 · 407 阅读 · 0 评论 -
88.Min Stack
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time.push(x) -- Push element x onto stack.pop() -- Removes the element on top of the stack.top() -- Get原创 2016-01-25 17:44:50 · 222 阅读 · 0 评论 -
102.Lowest Common Ancestor of a Binary Tree
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree.According to the definition of LCA on Wikipedia: “The lowest common ancestor is defined between two nodes原创 2016-02-28 12:10:22 · 272 阅读 · 0 评论 -
58. Product of Array Except Self
Given an array of n integers where n > 1, nums, return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].Solve it without division and in O原创 2016-01-22 17:47:43 · 233 阅读 · 0 评论 -
20.Climbing Stairs
You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?分析:f(n)=f(n-1)+f(n-2)。看到原创 2015-10-18 10:35:36 · 252 阅读 · 0 评论 -
10.Number of 1 Bits
Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight).For example, the 32-bit integer ’11' has binary representation 00000000原创 2015-10-16 10:38:01 · 293 阅读 · 0 评论 -
19.Reverse Linked List
Reverse a singly linked list.click to show more hints.Hint:A linked list can be reversed either iteratively or recursively. Could you implement both?分析:题目要求是实现链表的转置。用了三种实现:1.递归/*递归实现原创 2015-10-18 10:04:10 · 251 阅读 · 0 评论 -
41.Remove Nth Node From End of List
Given a linked list, remove the nth node from the end of list and return its head.(Difficulty: Easy)For example, Given linked list: 1->2->3->4->5, and n = 2. After removing the second node原创 2015-10-24 11:49:24 · 220 阅读 · 0 评论 -
92. Pow(x, n)
Implement pow(x, n).分析:题目要求求x的n次方。但是需要注意的一点是,int可表示的最小的负数的绝对值比int大1,所以把最小的负数单独拿出来处理。然后以二分的方法计算x的n次方。/** * 求x的n次方。 */ public double myPow(double x, int n) { if(n == -2147483648){/*in原创 2016-01-25 22:58:56 · 367 阅读 · 0 评论 -
16.Merge Two Sorted Lists
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing together the nodes of the first two lists.分析:我在做的是设置了一个临时头结点head,和一个当前已拍好序的链表的最后一个节点p,时刻保持head.ne原创 2015-10-17 11:00:54 · 243 阅读 · 0 评论 -
7.Invert Binary Tree
Invert a binary tree. 4 / \ 2 7 / \ / \1 3 6 9to 4 / \ 7 2 / \ / \9 6 3 1Trivia:This problem was inspired by this original tweet by Max Ho原创 2015-10-14 11:30:35 · 274 阅读 · 0 评论 -
104.Reverse Words in a String
Given an input string, reverse the string word by word.For example,Given s = "the sky is blue",return "blue is sky the".Update (2015-02-12):For C programmers: Try to solve it in-place in原创 2016-02-28 17:49:51 · 279 阅读 · 0 评论 -
105.Find the Duplicate Number
Given an array nums containing n + 1 integers where each integer is between 1 and n (inclusive), prove that at least one duplicate number must exist. Assume that there is only one duplicate number,原创 2016-03-03 10:29:28 · 353 阅读 · 0 评论 -
26.Path Sum
Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the given sum.For example:Given the below binary tree and sum原创 2015-10-19 21:51:48 · 292 阅读 · 0 评论 -
12.Majority Element
Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times.You may assume that the array is non-empty and the majority element原创 2015-10-16 11:41:28 · 258 阅读 · 0 评论 -
54.Maximum Subarray(动态规划)
Find the contiguous subarray within an array (containing at least one number) which has the largest sum.For example, given the array [−2,1,−3,4,−1,2,1,−5,4],the contiguous subarray [4,−1,2,1] ha原创 2016-01-09 23:02:38 · 568 阅读 · 0 评论 -
166.Largest Number
Given a list of non negative integers, arrange them such that they form the largest number.For example, given [3, 30, 34, 5, 9], the largest formed number is 9534330.Note: The result may be ve原创 2016-09-02 17:07:20 · 193 阅读 · 0 评论