力扣(707.面试题02.07)补9.16
707.设计链表
可以,真的是一个工程类的题目,处处要考虑细节,其实20分钟基本能写好,但是改各种细节又要40分钟,就是各种bug,总共花了一个小时才正确。
class MyLinkedList {
ListNode head=null;
public MyLinkedList() {
}
public int get(int index) {
if(head==null)
return -1;
ListNode p=head;
for(int i=0;i<index;i++){
p=p.next;
if(p==null)
return -1;
}
return p.val;}
public void addAtHead(int val) {
if(head==null){
head=new ListNode();
head.val=val;
return;}
ListNode p=new ListNode();
p.val=val;
p.next=head;
head=p;
}
public void addAtTail(int val) {
if(head==null){
head=new ListNode();
head.val=val;
return;}
ListNode p1=head;
ListNode p2=new ListNode();
p2.val=val;
while(p1.next!=null){
p1=p1.next;
}
p1.next=p2;}
public void addAtIndex(int index, int val) {
ListNode p=head;
ListNode p2=new ListNode();
p2.val=val;
if(index<=0){
addAtHead(val);
return;}
for(int i=0;i<index-1;i++){
p=p.next;
}
if(p==null)
return ;
else{
p2.next=p.next;
p.next=p2;}
}
public void deleteAtIndex(int index) {
if(index==0){
head=head.next;
return ;}
ListNode p=head;
for(int i=0;i<index-1;i++){
p=p.next;}
if(p!=null&&p.next!=null)
p.next=p.next.next;
else return;}
}
面试题02.07.链表相交
我直接2层循环暴力解决。
力扣(707.面试题02.07)补9.16相关推荐
- 面试题02.07.链表相交
面试题02.07链表相交 public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode hea ...
- C++算法学习(力扣:面试题 04.04 检查平衡性)
力扣:面试题 04.04 检查平衡性 实现一个函数,检查二叉树是否平衡.在这个问题中,平衡树的定义如下:任意一个节点,其两棵子树的高度差不超过 1. 示例 1: 给定二叉树 [3,9,20,null, ...
- [LeetCode] 面试题 02.07. 链表相交
LeetCode 面试题 02.07.链表相交 思路 题目的本意其实就是求两个链表相交处结点的指针,并返回该结点指针 步骤: Step1.分别用两个指针curA.curB指向两个链表A.B的头结点 S ...
- 代码随想录(day04)-LeetCode:24、19、面试题02.07、142
代码随想录:dayo4 1. [24]两两交换链表中的节点 虚拟头结点实现 递归实现 2.[19]**删除链表的倒数第N个节点** 双指针算法 3. 面试题[02.07]:链表相交 4.[142]环形 ...
- LeetCode-链表-面试题 02.07. 链表相交
描述 02.07. 链表相交 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点.如果两个链表没有交点,返回 null . 图示两个链表在节点 c1 开始相交 ...
- C++算法学习(力扣:面试题 16.04. 井字游戏)
设计一个算法,判断玩家是否赢了井字游戏.输入是一个 N x N 的数组棋盘,由字符" ","X"和"O"组成,其中字符" &quo ...
- 力扣(LeetCode)刷题,简单题(第16期)
目录 第1题:数组异或操作 第2题:交换数字 第3题:按既定顺序创建目标数组 第4题:数组中两元素的最大乘积 第5题:删除链表中的节点 第6题:在既定时间做作业的学生人数 第7题:二进制链表转整数 第 ...
- c语言a b的和 不用加号,力扣(LeetCode)刷题,简单题(第16期)
目录 力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升. 第1题:数组异或操作 试题要求如下: 回答(C语言): int xorOp ...
- 力扣707设计链表(单链表,JavaScript)
1,头指针指向列表第一个元素,尾指针指向链表最后一个元素,链表末尾的index=this.size-1 var MyLinkedList = function() {this.size=0this.h ...
最新文章
- 数据存储方式_寻找要操作数据的存储地址的过程称为寻址,几种寻址的方式分享...
- R语言ggplot2可视化散点图、移除可视化图像中的多余的图例信息、使用scale_size函数移除数据点大小的图例(legend)
- Hyperledger Fabric Docker 文件路径权限
- AJAX应注意IIS有没有.ashx扩展
- cmake / aux_source_directory
- 使用 Dockerfile 定制镜像
- Qt UDP的初步使用
- [译]JavaScript 究竟是如何工作的?(第一部分)
- 以 B 站为例,聊聊站内消息系统的设计
- 转:设置Eclipse中的tab键为4个空格的完整方法
- windows环境下Eclipse开发MapReduce程序遇到的四个问题及解决办法
- ffmpeg 推流 在H264中插入SPS、PPS 头
- CTFHUB技能树-Misc-流量分析-ICMP
- 超能搜索系统输入关键字_电商后台设计——搜索
- 百度云链接后的html,百度云链接失效,这样就能找回!
- AutoCad 批量打印
- windows防火墙出站规则只允许访问指定域名ip,其他出站ip全部阻止的方法
- vue-property-decorator
- 19年清北学堂冬令营游记
- selenium结合sikuliX操作Flash网页