- 博客(20)
- 资源 (4)
- 收藏
- 关注
原创 202. Happy Number
需要注意到,无论是否符合条件,都会进入循环,某一个稳定值稳定值为1,则为Happy number不为1,则不可能为happy numberJava用的是HashSet<Integer> res=new HashSet<Integer>添加元素res.add(number)检查是否重复 res.contains(number)C++用的是unordered_map<in...
2018-05-30 18:03:30 125
原创 61. Rotate List
确定循环长度k=k%n确定新链表的起始位置n-k,记pre=null, temp=head,遍历链表,获取链表长度和最后一个链表元素,在新链表中pre.next=head新链表起始位置的前一元素.next应置空指针置空可认为释放了内存/** * Definition for singly-linked list. * public class ListNode { * int val...
2018-05-30 17:57:59 144
原创 83. Remove Duplicates from Sorted List
删除链表中相邻的重复节点, 当出现重复节点,只移动后继节点至后继的后继,相当于删除,而头结点不动;当不再重复,则同时移动头结点和后继节点/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x...
2018-05-30 11:55:43 111
原创 24. Swap Nodes in Pairs
在单链表中交换相邻节点的值/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNod...
2018-05-30 11:10:42 133
原创 203. Remove Linked List Elements & 237. Delete Node in a Linked List
在单链表中删除与target相等的值/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public Li...
2018-05-30 11:03:24 100
原创 Leetcode 532. K-diff Pairs in an Array
Java给定数组和目标差值k找到无重复的数组对,满足差值为k为保证唯一性,在匹配为右配对后,应在map中移除该元素,避免再次被认为右配对(其实是重复的)class Solution { public int findPairs(int[] nums, int k) { if(k<0) return 0; int res=0; ...
2018-05-24 12:57:44 125
原创 Leetcode 268. Missing Number
Java利用异或(相同得0,不同得1),相同的数异或为0,任何数与0异或仍为本身,于是找出缺少的数字class Solution { public int missingNumber(int[] nums) { int res=0^nums[0]; for(int i=1;i<nums.length;i++){ res^=i^n...
2018-05-24 12:13:34 95
原创 Leetcode 198. House Robber
Java相邻的房间不可以抢,求最大的收益每次保留上一次的非相邻房间的最大收益,与此次包含相邻房间的收益相加,和当前收益相比较,考虑是否放弃此房间class Solution { public int rob(int[] nums) { int len=nums.length; if(len==0) return 0; ...
2018-05-24 12:01:11 95
原创 Leetcode 122. Best Time to Buy and Sell Stock II
Java与121不同的是,允许多次买卖,也就是说可以只要前一天的价格低于后一天,就赚取差价作为利润class Solution { public int maxProfit(int[] prices) { int curr=0; int res=0; for(int i=0;i<prices.length-1;i++){ ...
2018-05-24 11:37:02 103
原创 Leetcode 121. Best Time to Buy and Sell Stock
Java在至多一次的买卖机会下,求最大利润(至少为0),也就是在数组中找到差值最大的两个数class Solution { public int maxProfit(int[] prices) { int curr=0; int res=0; for(int i=0;i<prices.length-1;i++){ ...
2018-05-24 11:27:02 82
原创 Java 111. Minimum Depth of Binary Tree
Java和二叉树的最大深度不同,求最小深度时需注意单侧二叉树的情况,即一侧为空,此时深度应以有分支的一侧为准class Solution { public int minDepth(TreeNode root) { if(root==null) return 0; int left=minDepth(root.left); ...
2018-05-24 10:50:47 192
原创 Leetcode 104. Maximum Depth of Binary Tree
Javaclass Solution { public int maxDepth(TreeNode root) { if(root==null) return 0; int res=1; return res+Math.max(maxDepth(root.left),maxDepth(root.right)); ...
2018-05-24 10:42:57 80
原创 leetcode Same tree
Java/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { ...
2018-05-24 10:39:45 117
原创 leetcode 88. Merge Sorted Array
Java注意利用nums1的额外空间,从后向前放置较大值Input:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n = 3Output: [1,2,2,3,5,6] public void merge(int[] nums1, int m, int[] nums2, int n) { int i=m-1; ...
2018-05-24 10:32:47 105
原创 Leetcode. Climbing Stairs
Java public int climbStairs(int n) { if(n<3) return n; int[] res=new int[n+1]; res[1]=1; res[2]=2; for(int i=3;i<=n;i++){ res[i...
2018-05-24 09:44:39 150
原创 Leetcode Merge Two Sorted Lists
C++ 非递归,每次选择两者中较小的,和数组合并类似 ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) { if(!l1) return l2; if(!l2) return l1; ListNode* head=new ListNode(0)...
2018-05-23 16:38:16 117
原创 Leetcode Palindrome Number
Java比较反转结果和原数是否相等class Solution { public boolean isPalindrome(int x) { if(x<0) return false; long num=0; int ori=x; while(x!=0){ num=num*...
2018-05-23 11:41:58 91
原创 Leetcode 反转数组
Javaclass Solution { public int reverse(int x) { long num=0; while(x!=0){ num=num*10+x%10; x=x/10; } if(num>=Integer.MAX_VALUE||num<=I...
2018-05-23 11:01:55 323
原创 Leetcode valid Parenthese
class Solution {public: bool isValid(string s) { stack<char> left,right; if(s.size()%2!=0) return false; for(int i=0;i<s.size();i++){ if(s[i]=='(' || ...
2018-05-16 16:31:13 145
原创 Leetcode Two sum问题
C++方法一:通过缩小内层遍历的次数,减少无用的重复查找class Solution {public: vector<int> twoSum(vector<int>& nums, int target) { vector<int> res(2); for(int i=0;i<nums.size()-1;i+...
2018-05-16 16:05:18 204
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人