参考资料
图解Leetcode
006-重建二叉树
中序找到根位置
构造preleft,inleft,preright,inright数组
root->left = construct(preleft, inleft)
root->right = construct(preright, inright)
008-旋转数组的最小数字
两个指针low,high,两个递增数组,
while a[low]>=a[high]
如果a[mid]>=a[low],在第一个数组,low=mid
如果a[mid]<=a[high],在第二个数组,high=mid
特殊情况:
1.最开始需要判断a[low]<a[high]
2.当a[low]==a[mid]==a[high],需要遍历找minNumber
014-调整数组顺序使奇数位于偶数前面
维护两个索引或者指针,一个指向数组的第一个元素,并向后移动,一个指向数组的最后一个元素,并向前移动。
如果第一个指针指向的元素是偶数,而第二个指针指向的元素是奇数,说明偶数在奇数前面,那么就交换这两个数。
直到两个指针相遇为止
016-反转链表
pPrev->pNode->pNext
pPrev = PNext = NULL
pNode = pHead
while pNode is not NULL:
pNext = pNode->next
pNode->pNext = pPrev
pPrev = pNode
pNode = pNext