。。。剑指Offer之——从尾到头打印链表。。。

。。。剑指Offer之——从尾到头打印链表。。。
强烈推介IDEA2021.1.3破解激活,IntelliJ IDEA 注册码,2021.1.3IDEA 激活码  

大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说。。。剑指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 }


 

 

 

转载于:https://www.cnblogs.com/yingmeng/p/10767441.html

本文来源weixin_30595035,由架构君转载发布,观点不代表Java架构师必看的立场,转载请标明来源出处:https://javajgs.com/archives/29869

发表评论