cuốn sách gpt4 ai đã làm

Di chuyển tất cả các thành phần khác của danh sách được liên kết (tại chỗ) đến cuối danh sách được liên kết trong java

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-03 04:46:43 26 4
mua khóa gpt4 Nike

Đề bài như sau: Cho một danh sách liên kết, sẽ chờ chỉ số di chuyển đến danh sách

phía sau

Ví dụ:

đầu vào: : [0] -> [1] -> [2] -> [3] -> [4] -> [5] -> [6] -> [7]
đầu ra dự kiến: [0] -> [2] -> [4] -> [6] -> [1] -> [3] -> [5] -> [7] /

Như bạn có thể thấy từ kết quả mong đợi, các phần tử nằm ở vị trí lẻ (chỉ mục) sẽ được chuyển đến danh sách liên kết phía sau. Tôi đang cố gắng thực hiện điều này; tôi có thể xóa chỉ mục lẻ nhưng chúng không được liên kết với cuối danh sách.

Mã của tôi ở đây:

dịch chuyển void công khai(){
if (front==null) trả về;

ListNode Curr=front;
ListNode temp=curr.next;
while (curr.next!=null && curr.next.next!=null){
curr.next=curr.next.next;
Curr=curr.next;
temp.next=curr.next;
}
Curr.next=temp;
temp.next=null;
}


đầu ra dự kiến: front -> [0] -> [2] -> [4] -> [6] -> [1] -> [3] -> [5] -> [7] /
đầu ra của tôi: phía trước -> [0] -> [2] -> [4] -> [6] -> [1] /

tôi cần giúp đỡ

PS: Không được sử dụng bộ nhớ thứ cấp. Không có vùng chứa nào khác!!! Vì vậy, đây là sự sắp xếp lại tại chỗ

câu trả lời hay nhất

Tạo một danh sách chứa các phần tử được lập chỉ mục lẻ và một danh sách khác chứa các phần tử được lập chỉ mục chẵn. Nối danh sách lẻ vào danh sách chẵn. Độ phức tạp thời gian là O(n) và độ phức tạp không gian phụ trợ là O(1).

    dịch chuyển void công khai () {
nếu (phía trước == null)
return;
ListNode lẻList, chẵn, lẻ;
lẻList = chẵn = lẻ = phía trước;
OddList = front.next;
while (even.next != null) {
lẻ.next = chẵn.next;
lẻ = chẵn.next;
chẵn.next = lẻ.next;
if(odd.next != null) {
chẵn = lẻ.next;
lẻ.next = null;
} khác {
lẻ.next = null;
phá vỡ;
}
}
if(oddList != null) {
chẵn.next = lẻList;
}
//"front" trỏ tới điểm bắt đầu của danh sách mới.
}

Về java - di chuyển tất cả các thành phần khác của danh sách được liên kết (tại chỗ) đến cuối danh sách được liên kết trong java, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/21465232/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress