
Leetcode
guyy_moon
这个作者很懒,什么都没留下…
展开
-
LeetCode 270. 二叉搜索树中查找与目标数字最接近的节点
思路:如果当前节点值小于目标值,则结果只可能是当前节点值或者右子树中的值;如果当前节点值大于目标值,则结果只可能是当前节点值或者左子树中的值。struct TreeNode{ int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL){}};...原创 2018-04-16 14:08:54 · 2234 阅读 · 0 评论 -
1. Two Sum
Two Sumclass Solution {public: vector<int> twoSum(vector<int>& nums, int target) { unordered_map<int,int> map; vector<int> res; if(nums.empty()...原创 2018-05-18 11:41:34 · 121 阅读 · 0 评论 -
2. Add Two Numbers
Add Two Numbers/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public:...原创 2018-05-18 12:53:08 · 102 阅读 · 0 评论 -
3. Longest Substring Without Repeating Characters
3. Longest Substring Without Repeating Charactersclass Solution {public: int lengthOfLongestSubstring(string s) { if(s.empty()) return 0; int start=0,end=0,maxlen=0; ...原创 2018-05-18 12:54:25 · 85 阅读 · 0 评论 -
5. Longest Palindromic Substring
5. Longest Palindromic Substringclass Solution {public: string longestPalindrome(string s) { if(s.size() == 1){ return s; } int len=s.size(); int max_l...原创 2018-05-18 12:55:02 · 83 阅读 · 0 评论 -
7. Reverse Integer
7. Reverse Integerclass Solution {public: int reverse(int x) { int flag=x<0?-1:1; x=abs(x); int ten=10; long res=0; //long!!不能用int while...原创 2018-05-18 13:15:45 · 102 阅读 · 0 评论 -
9. Palindrome Number
9. Palindrome Numberclass Solution {public: bool isPalindrome(int x) { if(x<0|| (x!=0 &&x%10==0)) return false; int sum=0; //只判断一半 while(x>sum...原创 2018-05-18 13:16:38 · 123 阅读 · 0 评论 -
11. Container With Most Water
11. Container With Most Waterclass Solution {public: int maxArea(vector<int>& height) { int start = 0, end = height.size()-1; int area=0,res=0; while(start<en...原创 2018-05-18 13:18:04 · 83 阅读 · 0 评论 -
14. Longest Common Prefix
14. Longest Common Prefixclass Solution {public: string longestCommonPrefix(vector<string>& strs) { if(strs.empty()) return ""; string res=strs[0]; f...原创 2018-05-18 13:20:10 · 87 阅读 · 0 评论 -
15. 3Sum
15. 3Sumclass Solution {public: vector<vector<int>> threeSum(vector<int>& nums) { vector<vector<int>> res; if(nums.empty()) return res; i...原创 2018-05-18 13:22:07 · 87 阅读 · 0 评论 -
16. 3Sum Closest
16. 3Sum Closestclass Solution {public: int threeSumClosest(vector<int>& nums, int target) { int n=nums.size(); std::sort(nums.begin(),nums.end()); int res=nums[...原创 2018-05-19 17:00:18 · 187 阅读 · 0 评论 -
17. Letter Combinations of a Phone Number
17. Letter Combinations of a Phone Numberclass Solution {public: vector<string> letterCombinations(string digits) { vector<string> res; if(digits.empty()) ...原创 2018-05-19 17:00:02 · 100 阅读 · 0 评论 -
18. 4Sum
18. 4Sumclass Solution {public: vector<vector<int>> fourSum(vector<int>& nums, int target) { vector<vector<int>> res; if(nums.size()<4){ ...原创 2018-05-19 17:00:48 · 100 阅读 · 0 评论 -
19. Remove Nth Node From End of List
19. Remove Nth Node From End of Listclass Solution {public: ListNode* removeNthFromEnd(ListNode* head, int n) { if(head == NULL || head->next == NULL){ return NULL; ...原创 2018-05-19 17:01:23 · 102 阅读 · 0 评论 -
20. Valid Parentheses
20. Valid Parenthesesclass Solution {public: bool isValid(string s) { if(s.empty()){ return true; } stack<int> par; int i=0; while(i<s...原创 2018-05-19 17:01:58 · 96 阅读 · 0 评论 -
22. Generate Parentheses
22. Generate Parenthesesclass Solution {public: vector<string> generateParenthesis(int n) { vector<string> res; int left=n,right=n; string temp; if(n==...原创 2018-05-19 17:02:32 · 86 阅读 · 0 评论 -
24. Swap Nodes in Pairs
24. Swap Nodes in Pairsclass Solution {public: ListNode* swapPairs(ListNode* head) { if(head==NULL||head->next==NULL) return head; ListNode* dummy=new ListNode(0);...原创 2018-05-19 17:03:16 · 112 阅读 · 0 评论 -
26. Remove Duplicates from Sorted Array26. Remove Duplicates from Sorted Array
26. Remove Duplicates from Sorted Arrayclass Solution {public: int removeDuplicates(vector<int>& nums) { int n = nums.size(),count = 0; for(int i=1;i<n;i++){ ...原创 2018-05-19 17:03:51 · 89 阅读 · 0 评论 -
27. Remove Element
27. Remove Elementclass Solution {public: int removeElement(vector<int>& nums, int val) { int n = nums.size(),count = 0; for(int i=0;i<n;i++){ if(nums[i] ...原创 2018-05-19 17:04:46 · 127 阅读 · 0 评论 -
29. Divide Two Integers
29. Divide Two Integersclass Solution {public: int divide(int dividend, int divisor) { if(divisor==0 || (divisor==-1 && dividend==INT_MIN)) return INT_MAX; int...原创 2018-05-19 17:05:40 · 196 阅读 · 0 评论 -
31. Next Permutation
31. Next Permutationclass Solution {public: void nextPermutation(vector<int>& nums) { if(nums.size()<2) return; for(int i=nums.size()-2;i>=0;i--){ ...原创 2018-05-21 13:45:53 · 95 阅读 · 0 评论 -
33. Search in Rotated Sorted Array
33. Search in Rotated Sorted Arrayclass Solution {public: int search(vector<int>& nums, int target) { if(nums.size()==0) return -1; int start=0,end=nums.size...原创 2018-05-21 13:46:29 · 110 阅读 · 0 评论 -
34. Search for a Range
34. Search for a Rangeclass Solution {public: vector<int> searchRange(vector<int>& nums, int target) { vector<int> res(2,-1); if(nums.empty()) re...原创 2018-05-21 13:47:01 · 97 阅读 · 0 评论 -
35. Search Insert Position
35. Search Insert Positionclass Solution {public: int searchInsert(vector<int>& nums, int target) { int low = 0,high = nums.size()-1; while(low <= high){ ...原创 2018-05-21 13:47:44 · 101 阅读 · 0 评论 -
36. Valid Sudoku
36. Valid Sudokuclass Solution {public: bool isValidSudoku(vector<vector<char>>& board) { for(int i=0;i<board.size();i++){ unordered_set<char> row_set...原创 2018-05-21 13:48:27 · 98 阅读 · 0 评论 -
38. Count and Say
38. Count and Sayclass Solution {public: string countAndSay(int n) { if(n<1) return ""; string res="1"; for(int i=2;i<=n;i++){ ...原创 2018-05-21 13:49:03 · 119 阅读 · 0 评论 -
39. Combination Sum
39. Combination Sumclass Solution {public: vector<vector<int> > combinationSum(vector<int> &candidates, int target) { // write your code here vector<vecto...原创 2018-05-21 13:50:23 · 100 阅读 · 0 评论 -
40. Combination Sum II
40. Combination Sum IIclass Solution {public: /** * @param num: Given the candidate numbers * @param target: Given the target number * @return: All the combinations that sum to target */ ...原创 2018-05-21 13:51:10 · 253 阅读 · 0 评论 -
46. Permutations
46. Permutationsclass Solution {public: /** * @param nums: A list of integers. * @return: A list of permutations. */ vector<vector<int> > permute(vector<int>&...原创 2018-05-21 13:51:54 · 86 阅读 · 0 评论 -
47. Permutations II
47. Permutations IIclass Solution {public: /** * @param nums: A list of integers. * @return: A list of unique permutations. */ vector<vector<int> > permuteUnique(ve...原创 2018-05-21 13:52:24 · 90 阅读 · 0 评论 -
86. Partition List
86. Partition Listclass Solution {public: ListNode* partition(ListNode* head, int x) { if(head == NULL) return NULL; ListNode* smaller_dummy = new ListNode(0); ...原创 2018-05-25 21:55:22 · 133 阅读 · 0 评论 -
88. Merge Sorted Array
88. Merge Sorted Arrayclass Solution {public: void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) { int k = m + n - 1; int index1 = m - 1, index2 ...原创 2018-05-25 21:56:20 · 221 阅读 · 0 评论 -
90. Subsets II
90. Subsets IIclass Solution {public: vector<vector<int>> subsetsWithDup(vector<int>& nums) { vector<vector<int>> subs; if(nums.empty()) ...原创 2018-05-25 21:57:18 · 107 阅读 · 0 评论 -
91. Decode Ways
91. Decode Waysclass Solution {public: int numDecodings(string s) { if(s.empty() || (s[0]-'0')==0) return 0; vector<int> f(2,0); f[0]=1; // ...原创 2018-05-25 21:58:34 · 332 阅读 · 1 评论 -
92. Reverse Linked List II
92. Reverse Linked List IIclass Solution {public: ListNode* reverseBetween(ListNode* head, int m, int n) { if(head == NULL || m == n){ return head; } ListNode ...原创 2018-05-25 21:59:15 · 282 阅读 · 0 评论 -
94. Binary Tree Inorder Traversal
94. Binary Tree Inorder Traversalclass Solution {public: vector<int> res; //得到以root为根节点的中序遍历 void traverse(TreeNode *root){ if(root == NULL){ return; ...原创 2018-05-25 21:59:51 · 364 阅读 · 0 评论 -
95. Unique Binary Search Trees II
95. Unique Binary Search Trees IIclass Solution {public: vector<TreeNode*> generateTrees(int n) { vector<TreeNode*> res; if(n == 0) return res; ret...原创 2018-05-25 22:00:25 · 113 阅读 · 0 评论 -
96. Unique Binary Search Trees
96. Unique Binary Search Treesclass Solution {public: int numTrees(int n) { int res=0; vector<int> dp(n+1,0); dp[0]=1; dp[1]=1; for(int i=2;i<=n;i...原创 2018-05-25 22:01:01 · 97 阅读 · 0 评论 -
98. Validate Binary Search Tree
98. Validate Binary Search Treeclass Solution {public: TreeNode *lastnode; bool isValidBST(TreeNode *root) { // write your code here //按照中序遍历,应该为升序排列,若不满足,则不是BTS ...原创 2018-05-26 13:26:55 · 167 阅读 · 0 评论 -
101. Symmetric Tree
101. Symmetric Treeclass Solution {public: bool isSymmetric(TreeNode* root) { if(root==NULL) return true; queue<TreeNode*> ql,qr; ql.push(root->left);...原创 2018-05-26 13:28:14 · 97 阅读 · 0 评论