leetcode腾讯精选练习
AXIMI
这个作者很懒,什么都没留下…
展开
-
【leetcode腾讯精选练习】17.(Medium)LRU Cache
提交代码 class LRUCache { Map<Integer,Integer> map=new HashMap<>(); List<Integer> history=new ArrayList<>(); int cap; public LRUCache(int capacity) { this.cap=capaci...原创 2020-01-06 21:41:08 · 123 阅读 · 0 评论 -
【leetcode腾讯精选练习】16.(Medium)排序链表
将链表中的数值转换为数组,使用java自带的排序Arrays.sort 然后再将排序好的数组转换为链表 提交代码 class Solution { public ListNode sortList(ListNode head) { int len=0; ListNode p=head; while(p!=null) { len+=...原创 2020-01-02 19:35:10 · 101 阅读 · 0 评论 -
【leetcode腾讯精选练习】15.(Easy)最小栈
提交代码 class MinStack { public LinkedList<Integer> stack=new LinkedList<>(); /** initialize your data structure here. */ public MinStack() { } public void pus...原创 2020-01-02 18:00:05 · 90 阅读 · 0 评论 -
【leetcode腾讯精选练习】14(Easy)相交链表
提交代码 class Solution{ public ListNode getIntersectionNode(ListNode headA, ListNode headB) { if(headA==null||headB==null) return null; ListNode p1=headA; ListNode p2=headB; while(p1!=p2) { ...原创 2020-01-01 21:24:00 · 120 阅读 · 0 评论 -
【leetcode腾讯精选练习】13(Easy)多数元素
一种时间复杂度O(n) 空间复杂度O(1)的方法 提交代码 class Solution { public int majorityElement(int[] nums) { int candidate=nums[0], votes=1; for(int i=1,len=nums.length;i<len;i++) { if(nums...原创 2020-01-01 20:26:02 · 151 阅读 · 1 评论 -
【leetcode腾讯精选练习】12.(Easy)反转链表
使用3个指针,空间时间耗时都在O(n)以内 提交代码 class Solution { public ListNode reverseList(ListNode head) { if(head==null||head.next==null) return head; ListNode dummy=new ListNode(-1); dummy.ne...原创 2020-01-01 20:17:34 · 173 阅读 · 0 评论 -
【leetcode腾讯精选练习】11.(Medium)数组中的第K个最大元素
提交代码 class Solution { public int findKthLargest(int[] nums, int k) { Arrays.sort(nums); return nums[nums.length-k]; } } 运行结果原创 2020-01-01 19:56:21 · 104 阅读 · 0 评论 -
【leetcode腾讯精选练习】10. 存在重复元素
提交代码 class Solution { public boolean containsDuplicate(int[] nums) { Arrays.sort(nums); for(int i=1;i<nums.length;i++) if(nums[i]==nums[i-1]) return false; retu...原创 2019-12-30 21:49:15 · 97 阅读 · 0 评论 -
【leetcode腾讯精选练习】9.二叉搜索树中第K小的元素
使用morris遍历记录一下所有的节点 提交代码 class Solution { public int kthSmallest(TreeNode root, int k) { TreeNode cur=root,next=root; ArrayList<Integer> values=new ArrayList<>(); ...原创 2019-12-30 21:17:09 · 99 阅读 · 0 评论 -
【leetcode腾讯精选练习】8.2的幂
提交代码 class Solution { public boolean isPowerOfTwo(int n) { while(n>2) { if(n%2!=0) return false; n=n/2; } if(n<=0) return false; return true; } } 运行结果 ...原创 2019-12-30 20:51:14 · 104 阅读 · 0 评论 -
【leetcode腾讯精选练习】7.二叉搜索树的最近公共祖先
提交代码 class Solution { public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { if(root==null||root==p||root==q) return root; else if(p.val<root.val&&...原创 2019-12-19 21:52:31 · 249 阅读 · 0 评论 -
【leetcode腾讯精选练习】6.二叉树的最近公共祖先
提交代码 class Solution { public TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { if(root==null||root==p||root==q) return root; TreeNode left = lowestCommonAncestor(roo...原创 2019-12-19 21:22:39 · 131 阅读 · 0 评论 -
【leetcode腾讯精选练习】5.删除链表中的节点
提交代码 class Solution { public void deleteNode(ListNode node) { node.val=node.next.val; node.next=node.next.next; } } 运行结果原创 2019-12-09 20:06:52 · 86 阅读 · 0 评论 -
【leetcode腾讯精选练习】4.除自身以外数组的乘积
提交代码 class Solution { public int[] productExceptSelf(int[] nums) { if(nums.length==0) return nums; int len=nums.length; int[] left=new int[len]; int[] right=new int[le...原创 2019-12-09 20:06:10 · 147 阅读 · 0 评论 -
【leetcode腾讯精选练习】3.Nim 游戏
提交代码 class Solution { public boolean canWinNim(int n) { return n%4==0?false:true; } } 运行结果原创 2019-12-09 19:32:28 · 216 阅读 · 0 评论 -
【leetcode腾讯精选练习】2.反转字符串
提交代码 class Solution { public void reverseString(char[] s) { char tmp='a'; for(int i=0,len=s.length;i<len/2;i++) { tmp = s[i]; s[i] = s[len-i-1]; s[len...原创 2019-12-09 19:19:28 · 87 阅读 · 0 评论 -
【leetcode腾讯精选练习】1.反转字符串中的单词 III
提交代码 class Solution { public String reverseWords(String s) { String[] words=s.split(" "); String res=""; if(words.length>0) res+=reverseWord(words[0]); ...原创 2019-12-09 19:01:44 · 127 阅读 · 0 评论