算法题
文章平均质量分 71
乔布斯学java
这个作者很懒,什么都没留下…
展开
-
LeetCode刷题笔记(第二周)(2)
46.全排序 思路:(递归) 对每一个元素进行递归,用一个used[]记录当前已经使用过的元素,当全部元素都被使用完则放入list里面记录当前的排序 代码: public List<List<Integer>> permute(int[] nums) { boolean used[]=new boolean[nums.length]; List<Integer> list=new ArrayList<Intege原创 2022-05-29 11:58:14 · 130 阅读 · 0 评论 -
LeedCode刷题笔记(第二周)(1)
82.删除所有重复的结点 public ListNode deleteDuplicates(ListNode head) { ListNode n=new ListNode(0,head); ListNode cur=n; while(cur.next!=null&&cur.next.next!=null){ if(cur.next.val==cur.next.next.val){原创 2022-05-29 11:19:41 · 68 阅读 · 0 评论 -
LeetCode刷题笔记(第一周)(2)
88.合并两个有序数组 思路:(双指针) 用两个指针分别指向nums1和nums2,每次对比两个指针元素的大小,小的放到nums3(结果暂存在这个数组)中,nums3的指针和相对小的元素所在的数组的指针后移,直到某个指针到达某个数组的最后一个非0元素结束。 代码: public void merge(int[] nums1, int m, int[] nums2, int n) { if(m==0){ for(int i=0;i<n;i++){原创 2022-04-26 11:28:16 · 1552 阅读 · 0 评论 -
LeetCode刷题笔记(第一周)(1)
这段时间断断续续刷力扣题,因为太菜,所以先把高频的简单题刷一遍...做个笔记记录一下,闲来无事就拿出来看一眼...也非常渴望和各位大佬讨论算法~ 206.翻转链表(no) 思路:(迭代法) 因为给出了头结点,所以首先创建一个前结点pre对象记录当前结点的前一结点,然后再创建一个cur记录当前结点所在位置,如果当前结点不为null,则执行:创建一个next结点记录当前结点的下一个结点(避免当前结点的next指向pre后找不到下一个结点位置),接着当前结点的next指向上一结点(头结点则指向nul原创 2022-04-26 10:52:03 · 119 阅读 · 0 评论