剑指OFFER --arraylist的使用、listNode的使用

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

保证base和exponent不同时为0

剑指OFFER --arraylist的使用、listNode的使用

 

 

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变

 

剑指OFFER --arraylist的使用、listNode的使用

 

 

输入一个链表,输出该链表中倒数第k个结点。

剑指OFFER --arraylist的使用、listNode的使用

 

思路:创建两个指针,先让快的指针走K个单位,这时慢的指针还是指向头节点。

然后让快的指针走到最末尾,慢指针也移动相同的距离

 

剑指OFFER --arraylist的使用、listNode的使用

 

 

输入一个链表,反转链表后,输出新链表的表头。

剑指OFFER --arraylist的使用、listNode的使用

剑指OFFER --arraylist的使用、listNode的使用

 

思路:创建两个节点,一个指向下一个节点,另外一个指向前一个节点。

next = head.next; 当前节点的下一个 指向创建的next节点,记录下一个节点

head.next = pre;  下一个节点指向前一个节点,达到一个反转的目的

pre = head; 将pre右移

head = next;将head 右移

剑指OFFER --arraylist的使用、listNode的使用

 

 

输入两个单调递增的链表,输出两个链表合成后的链表,当然我们需要合成后的链表满足单调不减规则。

剑指OFFER --arraylist的使用、listNode的使用

 

剑指OFFER --arraylist的使用、listNode的使用

 

思路:创建一个ListNode   h,然后将list1 和 list2 从头开始比较,小的就添加到新建的h, 因为没有说两个list的长度是否不一致,所以后面增加一个判断,如果list还有剩余就直接加到h后面去就可以了

剑指OFFER --arraylist的使用、listNode的使用