Q:Reverse a linked list from position m to n. Do it in-place and in one-pass.

For example:

Given 1->2->3->4->5->NULL, m = 2 and n = 4,

return 1->4->3->2->5->NULL.

Note:

Given m, n satisfy the following condition:

1 ≤ m ≤ n ≤ length of list.

My Answer:

1.fine the parent of the node after which the list needed to be reversed, if necessary

2.reverse the nodes needed to be reversed

3.reconnect the fist half of the original list with the new head of the reversed list, if necessary;

reconnect the end of the reversed list with the rest of the list.