
leetcode
步行者之神
这个作者很懒,什么都没留下…
展开
-
230. 二叉搜索树中第K小的元素
给定一个二叉搜索树,编写一个函数kthSmallest来查找其中第k个最小的元素。说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。示例 1:输入: root = [3,1,4,null,2], k = 1 3 / \1 4 \ 2输出: 1示例 2:输入: root = [5,3,6,2,4,null,null,1],...原创 2020-03-30 21:45:04 · 120 阅读 · 0 评论 -
94. 二叉树的中序遍历
给定一个二叉树,返回它的中序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3输出: [1,3,2]进阶:递归算法很简单,你可以通过迭代算法完成吗?解法1:递归 public List<Integer> inorderTraversal(TreeNode root) { List&...原创 2020-03-29 13:28:11 · 119 阅读 · 0 评论 -
451. Sort Characters By Frequency
public class Solution { public String frequencySort(String s) { Map m = new HashMap<>(); for(int i=0;i<s.length();i++) { char c = s.charAt(i);原创 2017-07-28 16:20:57 · 241 阅读 · 0 评论 -
260. Single Number III----leetcode
Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice. Find the two elements that appear only once.For example:Given原创 2017-07-19 09:48:55 · 282 阅读 · 0 评论 -
leetcode ----69. Sqrt(x)
法一:int mySqrt(int x) { if(x<2) return x; long start = 1,end = x,mid = 0; while(start<=end) { mid = start + (end-start)/2; l原创 2016-10-27 10:52:40 · 343 阅读 · 0 评论 -
leetcode ----59. Spiral Matrix II
void support(vector> &res, int row, int col, int len, int &num){ if (len <= 0) return; int i = row, j = col; if (len == 1) { res[i][j] = num++; return; } while (j<col+len-1) { res[i][原创 2016-09-30 14:49:05 · 239 阅读 · 0 评论 -
leetcode ----167. Two Sum II - Input array is sorted
int helper(int left,int right,int target,vector&numbers) { while(left<=right) { int mid = (right+left)/2; if(numbers[mid]==target) {原创 2016-10-26 10:19:03 · 181 阅读 · 0 评论 -
leetcode ---- 350. Intersection of Two Arrays II
vector intersect(vector& nums1, vector& nums2) { vector res; sort(nums1.begin(),nums1.end()); sort(nums2.begin(),nums2.end()); int m = nums1.size(); int n=原创 2016-09-27 14:51:28 · 208 阅读 · 0 评论 -
leetcode ----209. Minimum Size Subarray Sum
法一:超时int helper(int k,vector &nums,int s) { for(int i=0;i<nums.size();i++) { int sum = 0; for(int j=i;j<k+i&&j<nums.size();j++) {原创 2016-09-26 17:41:23 · 256 阅读 · 0 评论 -
leetcode ----394. Decode String
string decodeString(string s) { string tem; stack stanum; //存储数字 stack stastr;//存储字符串 int n=0; for(int i=0;i<s.length();i++) { if(isdig原创 2016-09-25 16:27:04 · 240 阅读 · 0 评论 -
leetcode ----238. Product of Array Except Self
法一:TLEvector productExceptSelf(vector& nums) { vector res; for(int i=0;i<nums.size();i++) { int flag = 0; int sum = 1; while(flag<nums.size()原创 2016-10-09 16:34:50 · 206 阅读 · 0 评论 -
leetcode ----16. 3Sum Closest
int threeSumClosest(vector& nums, int target) { sort(nums.begin(),nums.end()); int close = nums[0]+nums[1]+nums[2];//初始化close为最小前三项的和 for(int i=nums.size()-1;i>=2;i--)//从最原创 2016-09-19 15:01:17 · 213 阅读 · 0 评论 -
leetcode ---- 143. Reorder List
void reorderList(ListNode* head) { if(head==NULL||head->next==NULL) //判空操作 return ; list res; //声明存储节点类型的list ListNode* p = head->next; ListNode* q = head;原创 2016-09-18 15:48:24 · 268 阅读 · 0 评论 -
Binary Tree Level Order Traversal
法一: vector> levelOrder(TreeNode* root) { vector> res; vector tem; //临时vector list l1; //存储节点list list l2; //存储对应节点深度信息list if(原创 2016-08-24 17:04:35 · 211 阅读 · 0 评论 -
leetcode 318 Maximum Product of Word Lengths
int maxProduct(vector& words) { vector mask(words.size());//用来存储每个字符串做差后对应的int值 int res=0; int tem;//临时长度变量 for(int i=0;i<words.size();i++)//遍历words中的每个字符串原创 2016-09-02 15:35:05 · 214 阅读 · 0 评论 -
Spiral Matrix
void helper(vector> matrix,vector &res,int x,int y,int row,int col) { if(row return ; for(int i=0;i { res.push_back(matrix[x][y+i]);原创 2016-09-09 16:28:44 · 164 阅读 · 0 评论 -
Longest Consecutive Sequence
int longestConsecutive(vector& nums) { unordered_set m;//无序set,加速 for(int i=0;i<nums.size();i++) { m.insert(nums[i]); } int res = 0; wh原创 2016-09-09 17:14:38 · 184 阅读 · 0 评论 -
leetcode -----Majority Elemen II
思路: 摩尔投票法 (一个数组中大于1/3 次数的最多有2个!!!!) 遍历两遍数组,第一遍找到两个候选的众数,第二遍计算这两个数的次数,最后比较时候大于n/3。vector majorityElement(vector& nums) { vector res; int m=0,n=0,cm=0,cn=0; for(原创 2016-07-07 16:34:06 · 219 阅读 · 0 评论 -
leetcode ----Intersection of Two Arrays
思路:因为set容器不会有重复元素,找到后放到set中,然后再拷贝到vector中(注意copy 函数 比for在复制值的时候效率高!!)vector intersection(vector& nums1, vector& nums2) { vector res; set tem; unordered_map m;原创 2016-07-27 11:04:57 · 338 阅读 · 0 评论