zoukankan      html  css  js  c++  java
  • 。。。剑指Offer之——从尾到头打印链表。。。

     1 public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
     2 //        定义一个ArrayList,用来存放翻转链表结果
     3         ArrayList<Integer> list = new ArrayList<>();
     4         if (listNode == null) {
     5             return list;
     6         }
     7         ListNode p = listNode;//p指向头指针
     8 //        1、每次迭代一个p,就把p的数值加入到list当中
     9 //        2、循环结束的时候,list里面存放的内容是链表的顺序排列
    10         while (p != null) {
    11             list.add(p.val);
    12             p = p.next;
    13         }
    14         int length = list.size();
    15 //        用i指向list的最前面,用j指向list的最后面
    16         int i = 0, j = length - 1;
    17 //        1、将i指向的内容与j指向的内容进行交换
    18 //        2、循环结束之后,list里面的内容就翻转过来了
    19         while (i < j) {
    20             int temp = list.get(i);
    21             list.set(i, list.get(j));
    22             list.set(j, temp);
    23             i++;
    24             j--;
    25         }
    26 //        返回最终结果,list里面的内容已经翻转过来了
    27         return list;
    28     }


    1 public class ListNode {
    2     int val;
    3     ListNode next = null;
    4 
    5     ListNode(int val) {
    6         this.val = val;
    7     }
    8 }
    
    
    
     
  • 相关阅读:
    流形学习(Mainfold Learning)
    陈皓的博客
    背包九讲
    阮一峰的个人网站
    PyTorch教程【六】Transforms的使用
    PyCharm设置代码提示忽略大小写
    PyTorch教程【五】TensoBoard的使用
    pip 换源
    PyCharm常用快捷键
    JAVA基础篇—HashMap
  • 原文地址:https://www.cnblogs.com/yingmeng/p/10767441.html
Copyright © 2011-2022 走看看