链表的遍历和反转
一、链表的遍历 链表的遍历算是十分简单了,从头到尾获取 next 指针的值,如果 next 不为 0,一直打印。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// 遍历链表,结果保存在 vector 中返回 template <typename T> std::vector<T> CMyList<T>::traversal() const { vector<T> v; CListNode<T> *p = root.getNext(); while (p) { v.push_back(p->getData()); p = p->getNext(); } return v; } |
这是一个链表和双向链表都可以使用的打印方式,但是对于循环链表来说要注意起始节点。 二、链表反转 链表反转在面试中经常会考的问题,总 ... 阅读更多