给你一个链表的头节点 head 和一个特定值 x ,请你对链表进行分隔,使得所有 小于 x 的节点都出现在 大于或等于 x 的节点之前。
你应当 保留 两个分区中每个节点的初始相对位置。
ListNode *lessHead = new ListNode(0); // 创建一个虚拟头节点,用于存放小于 x 的节点
ListNode *greaterHead = new ListNode(0); // 创建一个虚拟头节点,用于存放大于等于 x 的节点
ListNode *lessPtr