本文参照了 C与指针中双向链表的实现,力求简单明了。
双向链表带有一个头节点,
头节点的pre指针指向链表的最后一个node;
next指向第一个node;
val 表示链表的长度。
// copyright @ L.J.SHOU Jan.15, 2014
// double-linked-list with a head node
#include "double-linked-list.h"
#include <iostream>
using namespace std;
struct ListNode{
ListNode *pre;
ListNode *next;
int val;
ListNode(int x=0)
: val(x), pre(NULL), next(NULL){}
};
// return pointer to a hea