zoukankan      html  css  js  c++  java
  • 每周一题:从头到尾打印链表(更新JS)

    题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。

    示例 1:

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

     通过率:

    代码:

    var reversePrint = function(head) {
        let result = [];
     if(head==null){
      return [];
     }
        while(head != null) {
            result.unshift(head.val);
            head = head.next;
        }
        return result;
    };
     
    思路:
    这道题就类似于反转数组一样,首先建立一个空数组用来存放反转之后的链表数值,其次建立while循环,排除掉链表为空的这种情况,即能保证链表不为空进入循环。
    然后用unshift()方法向数组的开头添加一个或更多元素,并返回新的长度(不过这里不需要我们返回新的长度,只需要添加元素就好了),然后将原本链表中的数据元素一个一个存入空数组中,因为unshift方法是从数组开头添加元素,所以这里我们不需要再对链表或者数组做任何翻转,直接输入就可以了。
    最后再返回数组,即为答案。
    唯一缺点就是耗时还是太长,不太令人满意。
  • 相关阅读:
    SQL学习之计算字段的用法与解析
    SQL学习之用通配符进行数据过滤
    SQL学习之高级数据过滤
    SQL学习之空值(Null)检索
    JavaScript之arguements对象学习
    django配置数据库
    django创建项目
    django安装
    Django套用现成模板,导入css,js,images等文件
    Nvidia显卡安装驱动
  • 原文地址:https://www.cnblogs.com/sayg-1207/p/13232779.html
Copyright © 2011-2022 走看看