Leetcode-java 数据结构回顾
创始人
2024-05-31 18:32:08
0

数据结构复习

虽说是复习,但是都差不多忘干净了。而且用c做题做的多。
借从Leetcode上做题的机会,记一记自己之前学过的java知识。

链表

数组好歹写个动态规划,还能对六七十个样例,链表是一点头绪都没,尤其是要写头文件、写声明。

Lianbiao.1

在这里插入图片描述

  • 逆序存储 顾名思义,一个数非要倒着给存到链表里。因为不熟悉链表,不知道链表的存取方式,想象不出来链表代码的实现方式,卡住。
class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {ListNode head = null,tail = null;int carry = 0;while (l1 != null || l2 != null){int n1 = l1 != null ? l1.val : 0;int n2 = l2 != null ? l2.val : 0;int sum = n1 + n2 +carry;if(head == null){head = tail = new ListNode(sum % 10);}else{tail.next = new ListNode(sum % 10);tail = tail.next;}carry = sum / 10;if(l1 != null){l1 = l1.next;}if(l2 != null){l2 = l2.next;}}if(carry > 0){tail.next = new ListNode(carry);}return head;}
}

敲了一遍第一个实现方法,感觉类似数组,要取模。
但是看了官方样例,修正数字 、next 等等 有梦比了。

抛开题目,Listnode, 顾名思义链表节点,在数据结构里是两个挨着的长方块,数据域data 和指针域next组成。

由题目知,两个非空的链表L1 L2
三元运算符 int n = 条件 ?真则执行: 假则执行
l1.val 指的是链表第一个值 l1.next表示下一个值

到这我就能看懂了,但是自己写不出来。不过够了。

Day02

在这里插入图片描述
简单题该会了吧

class Solution {public ListNode mergeTwoLists(ListNode l1, ListNode l2) {if (l1 == null) {return l2;} else if (l2 == null) {return l1;} else if (l1.val < l2.val) {l1.next = mergeTwoLists(l1.next, l2);return l1;} else {l2.next = mergeTwoLists(l1, l2.next);return l2;}}
}

其实还是不会,但是我们来看一下结构。
首先对两个链表判空
如果都不为空,比较第一个值 val就是昨天的用法
从第一个结点来看,如果结点小,则把结点小的指针指下去

看了题解,意思是找列表的最小头节点,然后把头节点指向其他的结点。
因为两个链表是已经排序好的,所以每个链表的头节点必然是最小的,如果l1是小的,则把他指向下一个,如果l2 小,则讲l2指向更小的头节点。自己有点搞混了动态规划和递归了。做的题还是少。

做了两个改动
我把递归里边函数的两个参数交换了位置,还是能跑通。
还有弄明白了return的意思,return l1 的意思是返回他的值。

终于懂了,一个很简单的递归,以前学c++都是要自己写递归函数,java是直接给你这个递归函数,让你在他自身直接递归,边界条件是都为空,然后放心的把指针交出去指向他的子函数就完成了。其实,到现在我还是不懂.next的内部原理,不过做题就不影响了。

相关内容

热门资讯

公司辞旧迎新晚会主持词串词   男:尊敬的各位领导、各位来宾,  女:亲爱的同事们  合:大家下午好!  男:光阴似箭,岁月如梭...
纯中式婚礼主持词 纯中式婚礼主持词(通用5篇)  主持词是主持人在台上表演的灵魂之所在。在现在的社会生活中,越来越多的...
悟空传的经典台词 悟空传的经典台词  1、我曾深爱过,我不在乎结局。  2、我知道天会愤怒,那,你知不知道,天也会颤抖...
最有创意的广告词(经典 最有创意的广告词(经典  01 钱不是问题,问题是没钱。  02 钻石恆久远,一颗就破產。  03 ...
毕业感谢致辞 关于毕业感谢致辞(精选15篇)  无论是在学校还是在社会中,大家都写过致辞吧,致辞的措词造句要考虑与...
年会嘉宾简短致辞 年会嘉宾简短致辞  在日复一日的学习、工作或生活中,大家总少不了要接触或使用致辞吧,致辞具有很强的实...
成长礼主持稿 成长礼主持稿(通用8篇)  在日常生活和工作中,需要使用主持稿的情况越来越多,主持稿是在晚会、联欢会...
电视剧《放羊的星星》经典台词 电视剧《放羊的星星》经典台词  在现实社会中,用到台词的地方越来越多,台词是一种特殊的,也是很难掌握...
抓周仪式主持词 抓周仪式主持词范文  主持词是主持人在台上表演的灵魂之所在。在如今这个中国,主持词是活动、集会等的必...
年终总结大会主持词结束语 年终总结大会主持词结束语  主持词是各种演出活动和集会中主持人串联节目的串联词。时代不断在进步,主持...
纯中式婚礼主持词(2) 让我们共同举起手中的酒杯,共同祝福我们这一对知心爱人,祝福他们在爱的旅途上风雨相承,相濡以沫,真爱一...
幼儿园园庆主持词 幼儿园园庆主持词  利用在中国拥有几千年文化的诗词能够有效提高主持词的感染力。在人们积极参与各种活动...
篮球比赛开幕式主持词 篮球比赛开幕式主持词(通用5篇)  主持词可以采用和历史文化有关的表述方法去写作以提升活动的文化内涵...
六一儿童节活动节目的主持词 六一儿童节活动节目的主持词(精选7篇)  主持词是各种演出活动和集会中主持人串联节目的串联词。在当今...
公司员工的感谢词 公司员工的感谢词3篇  我们虽然是公司的一名员工,其实也是公司的主人,需要有将公司当成家的态度,态度...
毕业晚会的主持稿 毕业晚会的主持稿(精选11篇)  在现在社会,我们很多时候都不得不用到主持稿,主持稿是主持人为节目进...
《加油金三顺》经典台词 《加油金三顺》经典台词  1、回忆是没有任何力量的。(三顺)  2、人都知道会死,但不还是活着吗?(...
升学酒会主持词 升学酒会主持词  借鉴诗词和散文诗是主持词的一种写作手法。在如今这个时代,司仪等是很多场合都需要的角...
秋季开学典礼颁奖主持词 秋季开学典礼颁奖主持词  活动对象的不同,主持词的写作风格也会大不一样。在人们积极参与各种活动的今天...
老人寿宴致辞 老人寿宴致辞(精选7篇)  在我们平凡的日常里,许多人都写过致辞吧,致辞具有“礼仪性”或“仪式化”的...