当前位置: 首页 > news >正文

建网站流程的费用广州建站招聘

建网站流程的费用,广州建站招聘,惠州百度搜索优化,php网站开发环境一、题目 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1 输出:[]示例 3&a…

一、题目

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。

示例 1:

输入:head = [1,2,3,4,5], n = 2
输出:[1,2,3,5]

示例 2:

输入:head = [1], n = 1
输出:[]

示例 3:

输入:head = [1,2], n = 1
输出:[1]

二、思路

           1.容易想到的思路就是先遍历一遍链表统计长度,倒数第n个节点就是正数的第len - n + 1个节点。要删除该节点,我们要找到len - n的节点,即可删除。

            2.经典思路:删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。删掉slow所指向的节点就可以了。为了统一头节点和其他节点的删除操作,使用虚拟头节点。

三、代码

        暴力解:

public class Test {public static void main(String[] args) {Scanner sc = new Scanner(System.in);System.out.println("请输入链表的元素,输入非数字结束:");ListNode head = new ListNode(sc.nextInt());ListNode current = head;while (sc.hasNextInt()) {ListNode node = new ListNode(sc.nextInt());current.next = node;current = current.next;}ListNode listNode = removeNthFromEnd(head, 2);//打印链表current = listNode;while (current != null) {System.out.print(current.val + " ");current = current.next;}}public static ListNode removeNthFromEnd(ListNode head, int n) {//暴力法//先统计链表长度,找到该节点的前一个节点即可,倒数第n个节点是正数的第(len-n+1)个节点int len = 0;ListNode cur = head;while (cur != null) {len++;cur = cur.next;}//如果只有一个元素if(len == 1){return null;}// 如果需要删除头节点if (len - n == 0) {return head.next;}cur = head;//找到第len-n+1个节点的前一个节点for (int i = 1; i < len - n; i++) {cur = cur.next;}cur.next = cur.next.next;return head;}
}

       双指针法:

        

class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {//双指针,固定间距法,为了统一头节点和其他节点的操作,我们需要创建一个虚拟节点ListNode dummyHead = new ListNode();dummyHead.next = head;//快慢指针指向虚拟头节点ListNode fastIndex = dummyHead;ListNode slowIndex = dummyHead;//先让快指针走n+1 步再同时移动,这里为什么是n+1 呢?//因为我们在删除节点的时候要找到前一个节点,//将区间扩大到n+1,那么当快指针为空时,慢指针才能到达被删除节点的前一个节点for(int i = 0; i<= n;i++) {fastIndex = fastIndex.next;}while(fastIndex != null) {  //快慢指针同时移动fastIndex = fastIndex.next;slowIndex = slowIndex.next;}// 检查 slowIndex.next 是否为 null,以避免空指针异常if (slowIndex.next != null) {slowIndex.next = slowIndex.next.next;}return dummyHead.next;}
}

http://www.yayakq.cn/news/614084/

相关文章:

  • wordpress能做手机站吗百度推广查询
  • 哪个网站有手机企业网站备案 网站服务内容
  • 做网站公司怎样发布培训的免费网站模板
  • ps做兼职在什么网站可以找到网站备案申请流程
  • 建设银行网站认证工程公司手机网站
  • 番禺做网站报价网站推广软文几个绝招
  • 称心的赣州网站建设公司网站开发需要做哪些事
  • 广东商城网站建设公司监理工程师
  • 北京中国建设银行招聘信息网站如何建立网站教材
  • 数学教学网站开发网站建设分金手指排名二九
  • 售后好的品牌策划公司快手seo软件下载
  • 专业的平面设计网站有哪些杭州做网站的公司哪些比较好
  • 用织梦做的企业网站设计公司简介ppt范本
  • 江门网站建设教程专业做婚纱摄影网站
  • 如何做网站的教程二维码做电影网站需要注意事项
  • 有没有专门建设网站的公司水墨 网站模板
  • 网站转化率偏低怎么办wordpress接收邮件
  • 网站开发工程师绩效考核表国内net开发的网站建设
  • 自己开公司 自己做网站怎么查一个网站是谁做的
  • 网站优化服务义乌网站制作
  • 做搜狗pc网站优化快速南昌招网页设计师的公司
  • linux系统用wordpress贵阳哪家网站做优化排名最好
  • 蓝冠在线网站建设律师 wordpress
  • 电商网站费用青岛网站公司
  • 网站娱乐一条龙搭建公司注册地址与实际经营地址不符
  • 网站建设常州麦策电商动漫设计专业好就业吗
  • 人才网站开发方案房山石家庄网站建设
  • 重庆峰宇园林建设有限公司网站公司logo设计图片免费下载
  • 南宁响应式网站制作晋中城市建设招标网站
  • 山东省住房和城乡建设厅官方网站微信推广的平台