public SingleLinkNode Revert2() { SingleLinkNode p = this; if (p.Next != null) { SingleLinkNode pNext = p.Next; SingleLinkNode newHead = pNext.Revert2(); pNext.Next = this; this.Next = null; return(newHead); } return(p); }
static void Main(string[] args) { SingleLinkNode linkNode = new SingleLinkNode(3); linkNode.Insert(8); linkNode.Insert(6); linkNode.Insert(5); linkNode.Insert(10); SingleLinkNode result = linkNode.Insert(2); // 2-3-5-6-8-10 //SingleLinkNode jiHead = null; //SingleLinkNode ouHead = null; //result.Split(out jiHead, out ouHead); //SingleLinkNode revertLink = result.Revert(); SingleLinkNode revertLink = result.Revert2(); }