题解 | #反转链表#
反转链表
https://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
/** * struct ListNode { * int val; * struct ListNode *next; * }; */ /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @return ListNode类 */ struct ListNode* ReverseList(struct ListNode* head ) { // write code here int n = 1, i = 1; int val[1024] = {0}; struct ListNode *node = NULL; if (!head) return head; node = head; val[0] = head->val; while (node->next) { n++; node = node->next; val[i++] = node->val; } node = head; #if 0 for (i = 0; i < n; i++) { printf("%d", val[i]); } #endif for (i = 0; i < n; i++) { node->val = val[n - i - 1]; if (node->next) { node = node->next; } } return head; }