1.iteratively(迭代)
迭代是不停的重复,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。
2.recursively(递归)
一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法。
迭代方法:
// Recursive
class Solution {
public:
ListNode* reverseList(ListNode* head) {
if (!head || !head->next) return head;
ListNode *p = head;
head = reverseList(p->next);
p->next->next = p;
p->next = NULL;
return head;
}
};