zoukankan      html  css  js  c++  java
  • Day 51

    第203题:

    删除链表中等于给定值 val 的所有节点。(来自LeetCode)

    1、平常删除链表元素时只需要将p的next指向p的next的next,当删除元素不在链表头时可以这样操作;

      但是当链表头部存在一个或多个需要删除的元素时,如果直接删除会很复杂,所以就可以设置一个哨兵节点来解决这个问题,保证链表一直都有头;

      设置一个哨兵节点ess,ess.next指向头,然后使用两个指针pre和cur分别指向ess和ess.next;

      然后对cur指向的链表元素进行判断,做出操作,最终返回结果。

      

    第204题:

    统计所有小于非负整数 的质数的数量。(来自LeetCode)

     1、质数是只能对1或者它本身整除的数;

      利用一个布尔数组来存储这个数是否为质数,false代表是质数;

      遍历数组下标,如果此元素是false,res++;否则就将这个元素设为true,而且下标是这个下标倍数的数组元素也设为true(因为肯定不是质数);

      比如说求20以内质数的个数,首先0,1不是质数.2是第一个质数,然后把20以内所有2的倍数划去;

      2后面紧跟的数即为下一个质数3,然后把3所有的倍数划去;

      3后面紧跟的数即为下一个质数5,再把5所有的倍数划去.以此类推。

       

    第206题:

    反转一个单链表。(来自LeetCode)

     

    1、将pre指向null,cur指向head,然后在交换的时候需要保存cur.next,因为cur还需要向后移动,所以需要直到cur的后继;

      这样循环最终得出结果。

      

  • 相关阅读:
    iOS-触摸事件、手势识别、摇晃事件、耳机线控
    iOS-App生命周期
    Foundation框架—时间处理对象NSDate
    Kali linux渗透测试的艺术 思维导图
    数据结构_二叉树遍历
    数据结构_数值转换
    <转载>Mac下,使用sshpass让iterm2支持多ssh登录信息保存
    <转载>iTerm2使用技巧
    Maven打包编译找不到com.sun.crypto.provider.SunJCE类
    MySQL自动设置create_time和update_time
  • 原文地址:https://www.cnblogs.com/liang-yi-/p/13551378.html
Copyright © 2011-2022 走看看