题解 | #从尾到头打印链表#
从尾到头打印链表
http://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035
/**先将链表反转,再将反转后的链表存储在新创建的数组中,最后返回数组的首地址。
- struct ListNode {
- int val;
- struct ListNode *next;
- };
- C语言声明定义全局变量请加上static,防止重复定义 / /*
- 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
- @param listNode ListNode类
- @return int整型一维数组
- @return int* returnSize 返回数组行数 */
int* printListFromTailToHead(struct ListNodelistNode, int returnSize ) { //判空 if(listNode==NULL)return -1; int len=0; struct ListNodep=listNode; while(p){ p=p->next; len++; } inttempArr=(int *)malloc(len *sizeof(int)); p=listNode; for(int i=len-1;i>=0;i--){ tempArr[i]=p->val; p=p->next; } *returnSize=len; return tempArr; }