LeetCode
Thomas_YiSaYa
这个作者很懒,什么都没留下…
展开
-
go 链表,会自己做逃逸分析
leetcode 链表 加减法packagemainimport"fmt"/***Definitionforsingly-linkedlist.*typeListNodestruct{*Valint*Next*ListNode*}*/typeListNodestruct{Va...原创 2019-12-02 23:59:20 · 116 阅读 · 0 评论 -
[LeetCode] Populating Next Right Pointers in Each Node II
Follow up for problem "Populating Next Right Pointers in Each Node".What if the given tree could be any binary tree? Would your previous solution still work?Note:You may only use constant原创 2015-09-04 13:48:47 · 289 阅读 · 0 评论 -
Compare Version Numbers leetcode
Compare two version numbers version1 and version2.If version1 > version2 return 1, if version1 version2 return -1, otherwise return 0.You may assume that the version strings are non-empty and co原创 2015-08-06 11:12:54 · 556 阅读 · 0 评论 -
Longest Common Prefix
看清楚题目,思路简单,重要模块选最小值,然后找共同的!class Solution {public: string longestCommonPrefix(vector& strs) { string a; int Length=0;//0个相似 if(strs.size()==0) return a; bool flg=0; //有不相等的了马退出 //找到原创 2015-08-05 20:16:30 · 315 阅读 · 0 评论 -
36辆车,6条跑道,无计时器,最少几次比赛可以选出前三
转(http://blog.csdn.net/shahongzhou/article/details/39961261)是2015年校园招聘之腾讯(软件开发)笔试面试题目,题目见标题。我的思路如下:首先这应该是多轮问题。(1)初筛36辆车分6组,每组6辆。这样,比下来,共需要6次。(2)再筛在初筛中,最坏情况下,有一组的前三名就是36辆车的前三名。因转载 2015-08-30 23:27:17 · 6050 阅读 · 4 评论 -
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,#,#,15,7},原创 2015-08-15 18:25:17 · 317 阅读 · 0 评论 -
Multiply Strings
注意进位,和顺序的及时更新原创 2015-07-23 10:01:42 · 546 阅读 · 0 评论 -
Add Two Numbers
/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ int LengthList(struct ListNode* head); struct ListNode* addTwoNumbers(struct Li原创 2015-07-23 00:08:56 · 320 阅读 · 0 评论 -
[LeetCode] Populating Next Right Pointers in Each Node I, II
Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *next; }Populate each next pointer to point to its next right node.原创 2015-09-04 09:40:47 · 362 阅读 · 0 评论 -
Lowest Common Ancestor of a Binary Tree
Lowest Common Ancestor of a Binary TreeGiven 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 co转载 2015-08-19 10:02:03 · 351 阅读 · 0 评论 -
TwoSum leetcode
class Solution {public: vector twoSum(vector& nums, int target) { vector twoSum1(2); map mValueIdex; map::iterator it; bool flag=0; for(int i=0;i<nums.size();i++) { //两个一样. if(num原创 2015-08-06 20:01:32 · 538 阅读 · 0 评论 -
Unique Binary Search Trees
解题思路:BST定义::左子树节点均小于root,右子树节点均大于root!不要想当然地将某个点作为root时,认为其他所有节点都能全部放在left/right中,除非这个点是 min 或者 max 的。本题其实关键是递推过程的分析,n个点中每个点都可以作为root,当 i 作为root时,小于 i 的点都只能放在其左子树中,大于 i 的点只能放在右子树中,此时只需求出左、右子树各有多少原创 2015-09-04 14:23:35 · 364 阅读 · 0 评论 -
First Missing Positive
Given an unsorted integer array, find the first missing positive integer.For example,Given [1,2,0] return 3,and [3,4,-1,1] return 2.Your algorithm should run in O(n) time and uses constant原创 2015-08-06 20:43:37 · 459 阅读 · 0 评论 -
Sum Root to Leaf Numbers
题目:Sum Root to Leaf Numbers Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number.An example is the root-to-leaf path 1->2->3 which r原创 2015-09-06 09:20:17 · 296 阅读 · 0 评论 -
Minimum Size Subarray Sum
Given an array of n positive integers and a positive integer s, find the minimal length of a subarray of which the sum ≥ s. If there isn't one, return 0 instead.For example, given the array [2,3,1原创 2015-08-22 11:05:15 · 557 阅读 · 0 评论 -
Construct Binary Tree from Preorder and Inorder Traversal
Given preorder and inorder traversal of a tree, construct the binary tree.Note:You may assume that duplicates do not exist in the tree.解题思路::构造新树,每次不断的把前序的root找到,用前序构造新树,学会用容器表示节点,如何判断条件原创 2015-09-07 22:24:11 · 320 阅读 · 0 评论 -
leetcode:13. Roman to Integer
class Solution {public:int romanToInt(string s) {map roman_int_map;roman_int_map.insert(pair('I', 1));roman_int_map.insert(pair('V', 5));roman_int_map.insert(pair('X', 10));roman_int_map原创 2017-01-24 21:34:15 · 242 阅读 · 0 评论 -
3Sum
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:Elements in a triplet (a,b,c原创 2015-08-14 13:20:24 · 477 阅读 · 0 评论 -
Add Binary
leetcode解题过程原创 2015-07-22 22:08:25 · 561 阅读 · 0 评论 -
Remove Nth Node From End of List
LeetCode Remove Nth Node From End of List原创 2015-05-19 21:47:33 · 351 阅读 · 0 评论 -
Remove Element
Given an array and a value, remove all instances of that value in place and return the new length.The order of elements can be changed. It doesn't matter what you leave beyond the new length.class S原创 2015-06-16 20:24:30 · 378 阅读 · 0 评论 -
Cycle listII
假设刚进环的时候慢指针走了m步,环的大小为n,快慢指针在距离环起点x步的时候相遇。慢指针是一定走不完一圈就会和快指针相遇的(因为最惨的情况下就是慢指针进圈的时候快指针在它前面一个,快指针速度时慢的两倍,这种悲剧情况下慢指针也不可能走完一圈就会被追到)。这是慢指针走了m+x步,快指针走了2(m+x)步,快指针在圈内走了2(m+x)-m=m+2x步。由于相遇在x位置,所以 m+2x % n = x原创 2015-06-19 10:08:49 · 1396 阅读 · 0 评论 -
Linked List Cycle
Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?原理::假设刚进环的时候慢指针走了m步,环的大小为n,快慢指针在距离环起点x步的时候相遇。慢指针是一定走不完一圈就会和快指针相遇的(因为最惨的情况下就是慢指针进原创 2015-06-18 23:34:00 · 322 阅读 · 0 评论 -
LeetCode Sort List
Sort a linked list in O(n log n) time using constant space complexity.这道题我看了答案之后才想出来自己敲出来的。 做这道题要知道两个知识, 首先是排序,另外一个是 之前有一道Easy系列的题目,有序链表的排序法(做过) 那就很简单了。排序时间 复杂度是 O(n log n), 想到快速排序法和归并排序法,原创 2015-06-02 22:35:48 · 432 阅读 · 0 评论 -
Reverse Linked List II
这一道题,最好先做之前的 Reverse Linked ListI之后把他分成几个节点/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */ int LengthList(struct ListNode* he原创 2015-06-26 09:10:01 · 377 阅读 · 0 评论 -
Insertion Sort List
通过前面几个题目,画节点,显示节点,自己没有参考资料,自己做出来一道插入排序法排序题目。做这个题目,首先理解一下,出入排序法::插入排序法的思想,已经知道一个序列是有序的,将新来的一个数,插入有序的序列中,使其有序。比较简单的代码,可以参考插入排序的,数组排序法。我找一个类比的代码::数组 的插入排序起代码如下,可以测试,理解思想。 然后再改写链表的插入排序法,相对来原创 2015-06-07 20:31:30 · 329 阅读 · 0 评论 -
Rectangle Area
Find the total area covered by two rectilinear rectangles in a 2D plane.Each rectangle is defined by its bottom left corner and top right corner as shown in the figure.Assume that the total area is ne原创 2015-06-10 08:17:20 · 353 阅读 · 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原创 2015-06-11 14:39:52 · 342 阅读 · 0 评论 -
Subsets
Subsets Total Accepted: 57461 Total Submissions: 204200My SubmissionsQuestion Solution Given a set of distinct integers, nums, return all possible subsets.Note:Elements in a subset must be in non-desc原创 2015-08-08 17:00:30 · 389 阅读 · 0 评论 -
Binary Tree Right Side View
思路::主要用到BFS,把最后边的一个元素存储。class Solution {public: vector rightSideView(TreeNode* root) { vector Result; if (root==NULL) { return Result; } //BFS queue q1; q1.push(root)原创 2015-08-24 17:15:16 · 493 阅读 · 0 评论 -
Binary Tree Zigzag Level Order Traversal
Binary Tree Zigzag Level Order TraversalGiven 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 alte原创 2015-08-11 11:48:08 · 517 阅读 · 0 评论 -
Subsets II
Given a collection of integers that might contain duplicates, nums, return all possible subsets.Note:Elements in a subset must be in non-descending order.The solution set must not contain du原创 2015-08-11 14:29:37 · 304 阅读 · 0 评论 -
Permutations
Given a collection of numbers, return all possible permutations.For example,[1,2,3] have the following permutations:[1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], and [3,2,1].解题思想::DFS,找出一原创 2015-08-11 19:37:38 · 525 阅读 · 0 评论 -
Next Permutation
ARRAY;Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such arrangement is not possible, it must rearrange it as the low原创 2015-08-12 11:13:59 · 354 阅读 · 0 评论 -
Path Sum II
Given a binary tree and a sum, find all root-to-leaf paths where each path's sum equals the given sum.For example:Given the below binary tree and sum = 22, 5 / \原创 2015-08-12 16:01:50 · 508 阅读 · 0 评论 -
Palindrome Linked List
解法一:一次遍历,装入vector,然后再一次遍历判断回文。时间复杂度O(n),空间复杂度O(n)解法二:找到链表中点,拆分后,逆转后半个链表,然后两个链表同时顺序遍历一次。若链表长度为奇数,最末尾的元素可以忽略。时间复杂度O(n),空间复杂度O(1)/** * Definition for singly-linked list. *原创 2015-07-20 16:08:36 · 617 阅读 · 0 评论 -
Merge Two Sorted Listsk
附带了一些头文件和其他的操作,LeetCode解题思路原创 2015-05-21 15:40:43 · 356 阅读 · 0 评论