LeetCode
Jang1996
这个作者很懒,什么都没留下…
展开
-
Leetcode的couting bits
#include<iostream> #include<string> #include<vector> #include <initializer_list> using std::initializer_list; using std::vector; using std::string; using std::cin; using std::cout; using std::endl;vect原创 2016-07-18 10:04:51 · 254 阅读 · 0 评论 -
Minimum Depth of Binary Tree
Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node.class Solution { public: int minDepth(T原创 2017-03-01 19:17:13 · 324 阅读 · 0 评论 -
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,null,null,15,7], 3 / \ 9 20原创 2017-03-02 08:28:44 · 287 阅读 · 0 评论 -
Binary Tree Level Order Traversal II
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,null,null,15,7],原创 2017-03-02 09:51:24 · 321 阅读 · 0 评论 -
Binary Tree Inorder Traversal
Given a binary tree, return the inorder traversal of its nodes’ values.For example: Given binary tree [1,null,2,3], 1 \ 2 / 3 return [1,3,2].Note: Recursive solution is trivia原创 2017-03-02 09:52:53 · 407 阅读 · 0 评论 -
LeetCode(M)threesum
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note: The solution set must not contain duplic原创 2017-02-22 18:37:05 · 920 阅读 · 0 评论 -
LeetCode(E) Remove Duplicates from Sorted List
Given a sorted linked list, delete all duplicates such that each element appear only once.For example, Given 1->1->2, return 1->2. Given 1->1->2->3->3, return 1->2->3.最初我的代码ListNode *deleteDuplicates原创 2017-02-23 10:57:14 · 266 阅读 · 0 评论 -
LeetCode(M) 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->1->2原创 2017-02-23 11:12:43 · 305 阅读 · 0 评论 -
LeetCode(M) Sort List
Sort a linked list in O(n log n) time using constant space complexity.根据题目O(nlogn)时间,O(1)空间,选择了归并排序/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next;原创 2017-02-23 19:47:44 · 223 阅读 · 0 评论 -
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./** * Definition for singly-linked list. * struct ListNode原创 2017-02-23 19:49:39 · 236 阅读 · 0 评论 -
Merge k Sorted Lists
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity.class Solution { public: ListNode* mergeKLists(vector<ListNode*>& lists) { if(lists.size()==原创 2017-02-23 20:20:12 · 317 阅读 · 0 评论 -
Linked List Cycle
Given a linked list, determine if it has a cycle in it. * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {}原创 2017-02-23 20:27:12 · 248 阅读 · 0 评论 -
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 ↘原创 2017-02-24 10:50:57 · 253 阅读 · 0 评论 -
Partition List
Given a linked list and a value x, partition it such that all nodes less than x come before nodes greater than or equal to x.You should preserve the original relative order of the nodes in each of the原创 2017-02-25 11:12:01 · 230 阅读 · 0 评论 -
Reverse Linked List
Reverse a singly linked list.原题/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solut原创 2017-02-23 20:47:39 · 305 阅读 · 0 评论 -
Palindrome Linked List(回文链表)
LintCode原题 Given a singly linked list, determine if it is a palindrome.Follow up: Could you do it in O(n) time and O(1) space?class Solution { public: bool isPalindrome(ListNode* head) {原创 2017-02-25 11:26:21 · 372 阅读 · 0 评论 -
Reverse Linked List II
Reverse a linked list from position m to n. Do it in-place and in one-pass.For example: Given 1->2->3->4->5->NULL, m = 2 and n = 4,return 1->4->3->2->5->NULL.Note: Given m, n satisfy the following co原创 2017-02-25 18:13:04 · 238 阅读 · 0 评论 -
Maximum Depth of Binary Tree
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 farthest leaf node.class Solution { public: int maxDepth(T原创 2017-03-01 19:12:16 · 366 阅读 · 0 评论 -
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 differ by原创 2017-03-01 19:11:24 · 376 阅读 · 0 评论 -
leetcode(E)two sum
Two Sum QuestionEditorial Solution My Submissions Total Accepted: 344929 Total Submissions: 1217901 Difficulty: Easy Contributors: Admin Given an array of integers, return indices of the two nu原创 2016-11-06 21:07:40 · 289 阅读 · 0 评论 -
leetcode(E) two sum
第一种解法:class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { map<int,int> m;//注意此处为map,若为multimap,则不能使用m[i]形式 for(int i=0;i<nums.size();++i) m[nums[i]]=i;原创 2016-11-07 10:35:43 · 194 阅读 · 0 评论 -
leetcode(E)two sumII
class Solution { public: vector<int> twoSum(vector<int>& numbers, int target) { map<int,int> m; for(int i=0;i<numbers.size();++i){ if(m.count(target-numbers[i]))//注意这里为什原创 2016-11-07 10:58:37 · 246 阅读 · 0 评论 -
leetcode(M) 3sum closest
3Sum Closest Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would原创 2016-11-08 09:08:08 · 306 阅读 · 0 评论 -
leetcode(M) three sum
3Sum QuestionEditorial Solution My Submissions Total Accepted: 159017 Total Submissions: 778216 Difficulty: Medium Contributors: Admin Given an array S of n integers, are there elements a, b, c原创 2016-11-07 20:19:53 · 361 阅读 · 0 评论 -
leetcode(E) string to integer(atoi)
class Solution { public: int myAtoi(string str) { long result = 0; int indicator ; int i = str.find_first_not_of(' '); indicator=(str[i]=='-'?-1:1); while(str[i] == '-' || str[i] ==原创 2016-11-08 17:20:06 · 337 阅读 · 0 评论 -
Remove Nth Node From End of List
Given a linked list, remove the nth node from the end of list and return its head.For example,Given linked list: 1->2->3->4->5, and n = 2.After removing the second node from the end, the linked list be原创 2017-02-28 09:17:11 · 270 阅读 · 0 评论 -
Odd Even Linked List
Given a singly linked list, group all odd nodes together followed by the even nodes. Please note here we are talking about the node number and not the value in the nodes.You should try to do it in plac原创 2017-02-28 09:21:46 · 262 阅读 · 0 评论 -
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?class Solution原创 2017-02-28 10:42:13 · 243 阅读 · 0 评论 -
Reorder List
Given a singly linked list L: L0→L1→…→Ln-1→Ln, reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…You must do this in-place without altering the nodes’ values.For example, Given {1,2,3,4}, reorder it to {1,4,2,3}原创 2017-02-28 14:33:46 · 346 阅读 · 0 评论 -
Insertion Sort List
Sort a linked list using insertion sort.class Solution { public: ListNode* insertionSortList(ListNode* head) { if(!head) return NULL; ListNode* pre=new ListNode(-1),*p=head,*q;原创 2017-02-28 15:19:01 · 299 阅读 · 0 评论 -
Copy List with Random Pointer
A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.Return a deep copy of the list./** * Definition for singly-linked lis原创 2017-02-28 20:51:29 · 318 阅读 · 0 评论 -
Convert Sorted List to Binary Search Tree
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST./** * Definition for singly-linked list. * struct ListNode { * int val; * ListNo原创 2017-02-28 22:19:44 · 356 阅读 · 0 评论 -
Flatten Binary Tree to Linked List
Given a binary tree, flatten it to a linked list in-place.For example, Given 1 / \ 2 5 / \ \ 3 4 6 The flattened tree should look like: 1 \ 2 \ 3原创 2017-02-28 22:55:45 · 473 阅读 · 0 评论 -
Invert Binary Tree
Invert Binary Tree Add to List Description Submission Solutions Total Accepted: 154920 Total Submissions: 307555 Difficulty: Easy Contributors: Admin Invert a binary tree. 4 / \ 2 7原创 2017-03-01 08:57:37 · 282 阅读 · 0 评论 -
Binary Tree Paths
Given a binary tree, return all root-to-leaf paths.For example, given the following binary tree:1 / \ 2 3 \ 5 All root-to-leaf paths are:[“1->2->5”, “1->3”]第一个错误版本 class Solution { publi原创 2017-03-01 10:28:58 · 307 阅读 · 0 评论 -
Binary Tree Maximum Path Sum
Given a binary tree, find the maximum path sum.For this problem, a path is defined as any sequence of nodes from some starting node to any node in the tree along the parent-child connections. The path原创 2017-03-13 10:16:18 · 428 阅读 · 0 评论