输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。
示例:
输入:nums = [1,2,3,4] 输出:[1,3,2,4] 注:[3,1,2,4] 也是正确的答案之一。
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/diao-zheng-shu-zu-shun-xu-shi-qi-shu-wei-yu-ou-shu-qian-mian-lcof 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public int[] exchange(int[] nums) {
int n = nums.length;
int left = 0;
for (int i = 0; i < n; i++) {
if (nums[i] % 2 == 1) {
int temp = nums[i];
nums[i] = nums[left];
nums[left] = temp;
left++;
}
}
return nums;
}
}
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
示例:
输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public ListNode reverseList(ListNode head) {
ListNode pre = null;
ListNode cur = head;
while (cur != null) {
ListNode next = cur.next;
cur.next = pre;
pre = cur;
cur = next;
}
return pre;
}
}
输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。
示例1:
输入:1->2->4, 1->3->4 输出:1->1->2->3->4->4
来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/he-bing-liang-ge-pai-xu-de-lian-biao-lcof 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution {
public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
ListNode ans = new ListNode();
ListNode temp = ans;
while (l1 != null && l2 != null) {
if (l1.val < l2.val) {
ans.next = l1;
l1 = l1.next;
} else {
ans.next = l2;
l2 = l2.next;
}
ans = ans.next;
}
if (l1 == null && l2 == null) {
return temp.next;
}
if (l1 == null) {
ans.next = l2;
return temp.next;
}
if (l2 == null) {
ans.next = l1;
return temp.next;
}
return null;
}
}