题目背景:
对链表的考察。面试的时候,由于链表的创建、插入、删除等操作,代码量不是很多,相较哈希表、有向图等数据结构而言;但又考察应聘者的编程功底,为各个公司面试官所青睐。应当重视。
题目描述:
输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
/*function ListNode(x){
this.val = x; // 节点的数据域
this.next = null; // 节点指针域,通过this.next使指针后移
}*/
function printListFromTailToHead(head)
{
// write code here
var arr = [];
while (head) {// 链表不为空,执行
arr.push(head.val);//将当前节点值存放到数组
head = head.next;// 指针后移
}
return arr.reverse();//颠倒数组元素
}
最近在刷剑指offer,找工作还是要好好准备。
对于题目要求的返回值ArrayList不是很明白,还有函数的参数head的理解也不是很明白,慢慢积累了。有理解的可以在下面留言,告知,不胜感激。