农场里有一群牛,每头牛都有一个编号。现在农场主想要按照编号位置的奇偶性重排牛群的顺序,要求将所有编号位置为奇数的牛放在前面,编号位置为偶数的牛放在后面。同时,偶数部分和奇数部分内部的相对顺序应该与输入时保持一致。 请你实现一个函数 ListNode* reorderCows(ListNode* head),接收一个链表的头节点 head 作为参数,表示牛群的初始编号顺序。函数返回一个链表的头节点,表示重排后的牛群编号顺序。 你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题。
区块链毕设网qklbishe.com为您提供问题的解答
农场里有一群牛,每头牛都有一个编号。现在农场主想要按照编号位置的奇偶性重排牛群的顺序,要求将所有编号位置为奇数的牛放在前面,编号位置为偶数的牛放在后面。同时,偶数部分和奇数部分内部的相对顺序应该与输入时保持一致。
请你实现一个函数 ListNode* reorderCows(ListNode* head)
,接收一个链表的头节点 head 作为参数,表示牛群的初始编号顺序。函数返回一个链表的头节点,表示重排后的牛群编号顺序。
你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题。
import java.util.*;
/*
* public class ListNode {
* int val;
* ListNode next = null;
* public ListNode(int val) {
* this.val = val;
* }
* }
*/
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param head ListNode类
* @return ListNode类
*/
public ListNode reorderCows (ListNode head) {
ListNode head1=null;
ListNode nowhead1=null;
ListNode head2=null;
ListNode nowhead2=null;
while(head!=null){
if(head.val%2!=0 && head1 == null){
head1 = head;
nowhead1 = head;
head = head.next;
}
else if(head.val%2!=0 && head1 != null){
nowhead1.next = head;
nowhead1 = head;
head=head.next;
}
else if(head.val%2==0 && head2 == null){
head2 = head;
nowhead2 = head;
head = head.next;
}
else{
nowhead2.next = head;
nowhead2 = head;
head = head.next;
}
}
if(nowhead2!=null){
nowhead2.next = null;
}
nowhead1.next = head2;
return head1;
// write code here
}
}
50:05
以上就是关于问题农场里有一群牛,每头牛都有一个编号。现在农场主想要按照编号位置的奇偶性重排牛群的顺序,要求将所有编号位置为奇数的牛放在前面,编号位置为偶数的牛放在后面。同时,偶数部分和奇数部分内部的相对顺序应该与输入时保持一致。 请你实现一个函数 ListNode* reorderCows(ListNode* head),接收一个链表的头节点 head 作为参数,表示牛群的初始编号顺序。函数返回一个链表的头节点,表示重排后的牛群编号顺序。 你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训
从业7年-专注一级市场
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 农场里有一群牛,每头牛都有一个编号。现在农场主想要按照编号位置的奇偶性重排牛群的顺序,要求将所有编号位置为奇数的牛放在前面,编号位置为偶数的牛放在后面。同时,偶数部分和奇数部分内部的相对顺序应该与输入时保持一致。 请你实现一个函数 ListNode* reorderCows(ListNode* head),接收一个链表的头节点 head 作为参数,表示牛群的初始编号顺序。函数返回一个链表的头节点,表示重排后的牛群编号顺序。 你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题。
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 农场里有一群牛,每头牛都有一个编号。现在农场主想要按照编号位置的奇偶性重排牛群的顺序,要求将所有编号位置为奇数的牛放在前面,编号位置为偶数的牛放在后面。同时,偶数部分和奇数部分内部的相对顺序应该与输入时保持一致。 请你实现一个函数 ListNode* reorderCows(ListNode* head),接收一个链表的头节点 head 作为参数,表示牛群的初始编号顺序。函数返回一个链表的头节点,表示重排后的牛群编号顺序。 你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题。
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 农场里有一群牛,每头牛都有一个编号。现在农场主想要按照编号位置的奇偶性重排牛群的顺序,要求将所有编号位置为奇数的牛放在前面,编号位置为偶数的牛放在后面。同时,偶数部分和奇数部分内部的相对顺序应该与输入时保持一致。 请你实现一个函数 ListNode* reorderCows(ListNode* head),接收一个链表的头节点 head 作为参数,表示牛群的初始编号顺序。函数返回一个链表的头节点,表示重排后的牛群编号顺序。 你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题。
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 农场里有一群牛,每头牛都有一个编号。现在农场主想要按照编号位置的奇偶性重排牛群的顺序,要求将所有编号位置为奇数的牛放在前面,编号位置为偶数的牛放在后面。同时,偶数部分和奇数部分内部的相对顺序应该与输入时保持一致。 请你实现一个函数 ListNode* reorderCows(ListNode* head),接收一个链表的头节点 head 作为参数,表示牛群的初始编号顺序。函数返回一个链表的头节点,表示重排后的牛群编号顺序。 你必须在 O(1) 的额外空间复杂度和 O(n) 的时间复杂度下解决这个问题。