Rumah pangkalan data tutorial mysql CCI 2.5 链表整数求和

CCI 2.5 链表整数求和

Jun 07, 2016 pm 03:43 PM
integer Jumlah diberi ekspres senarai terpaut

给定两个用链表表示的整数,每一个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。 示例 输入:(7-1-6) (5-9-2), 即 617 295. 输出:2-1-9, 即912. 进阶 假设这些数位是正向存放的,请

给定两个用链表表示的整数,每一个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。

示例

输入:(7->1->6) + (5->9->2), 即 617 + 295.

输出:2->1->9, 即912.

进阶

假设这些数位是正向存放的,请再做一遍。

示例

输入:(6->1->7) + (2->9->5), 即617 + 295.

输出:9->1->2, 即912.

**进阶的解法告诉我们,涉及单链表逆序的问题,可以借助栈来解决。

package test;

import java.util.Stack;

public class AddLinkedInt {
	
	//两个整数反向存放
	//即,个位排在链表的首部
	public Node addLinkedInt(Node l1, Node l2){
		
		Node newHead = new Node(0);
		Node tail = newHead;
		int carry = 0;
		Node p1 = l1, p2 = l2;
		while(p1!=null || p2!=null){
			int val1 = (p1==null)? 0 : p1.val;
			int val2 = (p2==null)? 0 : p2.val;
			int val = (val1+val2+carry)%10;
			carry = (val1+val2+carry)/10;
			tail.next = new Node(val);
			tail = tail.next;
		}
		if(carry != 0)
			tail.next = new Node(carry);
		return newHead.next;
	}
	
	//两个整数正向存放
	//即,个位排在链表的末尾
	public Node addLinkedInt(Node l1, Node l2){
		//这里要借助栈来处理
		Stack<integer> st1 = new Stack<integer>();
		Stack<integer> st2 = new Stack<integer>();
		Node p1=l1, p2=l2;
		//将两链表的数据分别压入栈中
		while(p1 != null){
			st1.push(p1.val);
			p1 = p1.next;
		}
		while(p2 != null){
			st2.push(p2.val);
			p2 = p2.next;
		}
		//将结果相加入栈
		Stack<integer> res = new Stack<integer>();
		int carry=0;
		while( !st1.empty() || !st2.empty()){
			int val1 = st1.empty() ? 0 : st1.pop();
			int val2 = st2.empty() ? 0 : st2.pop();
			res.push((val1+val2+carry)%10);
			carry = (val1+val2+carry)/10;
		}
		if(carry != 0)//注意进位的处理
			res.push(carry);
		Node newHead = new Node(0);
		Node tail = newHead;
		while(!res.empty()){
			tail.next = new Node(res.pop());
			tail = tail.next;
		}
		return newHead.next;	
	}
}
</integer></integer></integer></integer></integer></integer>
Salin selepas log masuk


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Jumlah tuple mutlak dalam Python Jumlah tuple mutlak dalam Python Sep 12, 2023 pm 07:37 PM

Dalam Python, tupel ialah jujukan tidak berubah yang boleh menyimpan berbilang elemen daripada jenis yang berbeza. Ia sering digunakan untuk mewakili koleksi nilai yang berkaitan. Penjumlahan tupel melibatkan penambahan elemen sepadan dua atau lebih tupel untuk menghasilkan tupel baharu. Walau bagaimanapun, dalam sesetengah senario, mungkin perlu untuk mengira jumlah mutlak unsur dan bukannya jumlah tradisional. Dalam catatan blog ini, kami akan meneroka cara melakukan jumlah tuple mutlak dalam Python. Jumlah Tuple Tradisional Sebelum kita mendalami jumlah tupel mutlak, mari kita fahami terlebih dahulu cara melakukan jumlah tuple tradisional. Memandangkan dua tupel yang sama panjang, kita boleh menggunakan gelung Python mudah atau pemahaman senarai untuk mengira jumlah elemen yang sepadan −deftuple_sum(t1,t2):

Bagaimana untuk menukar integer kepada perpuluhan dalam javascript Bagaimana untuk menukar integer kepada perpuluhan dalam javascript Nov 03, 2021 pm 05:59 PM

Dalam JavaScript, anda boleh menggunakan fungsi toFixed() untuk menukar integer kepada perpuluhan Fungsi ini boleh menukar integer kepada nombor dengan nombor tempat perpuluhan yang ditentukan ialah "number.toFixed(x)", dan parameter "x" menentukan bilangan tempat perpuluhan.

Bagaimana untuk menukar DateTime kepada integer dalam Python? Bagaimana untuk menukar DateTime kepada integer dalam Python? Sep 05, 2023 pm 10:21 PM

Manipulasi nilai tarikh dan masa adalah aspek penting dalam pengaturcaraan, dan bahasa Python menyediakan modul terbina dalam yang berguna untuk ini dipanggil datetime. Walau bagaimanapun, dalam beberapa kes, anda mungkin perlu menukar objek DateTime kepada nilai integer untuk melaksanakan operasi atau pengiraan tertentu. Terdapat pelbagai cara untuk menukar DateTime kepada integer dalam Python, masing-masing mempunyai kelebihan dan kekurangannya sendiri. Dalam artikel ini, kita akan melihat dengan lebih dekat kaedah ini dan memeriksa apabila setiap kaedah sesuai digunakan. Selepas membaca artikel ini, anda akan mempunyai pemahaman yang lengkap tentang cara menukar objek DateTime dengan cekap kepada integer dalam Python dan boleh memilih kaedah yang paling sesuai untuk tugas pengaturcaraan khusus anda. Kaedah 1: Gunakan cap masa

Adakah anda tahu cara menjumlahkan jadual Word? Adakah anda tahu cara menjumlahkan jadual Word? Mar 21, 2024 pm 01:10 PM

Kadangkala, kita sering menghadapi masalah mengira dalam jadual Word Secara amnya, apabila menghadapi masalah seperti itu, kebanyakan pelajar akan menyalin jadual Word ke Excel untuk pengiraan secara senyap. Adakah terdapat cara cepat untuk mengiranya? Sudah tentu ada, sebenarnya jumlahnya juga boleh dikira dalam Word. Jadi, adakah anda tahu bagaimana untuk melakukannya? Hari ini, mari kita lihat bersama-sama! Tanpa berlengah lagi, rakan-rakan yang memerlukan perlu segera mengumpulnya! Butiran langkah: 1. Mula-mula, kita buka perisian Word pada komputer dan buka dokumen yang perlu diproses. (Seperti yang ditunjukkan dalam gambar) 2. Seterusnya, kami meletakkan kursor pada sel di mana nilai yang dijumlahkan terletak (seperti yang ditunjukkan dalam gambar kemudian, kami klik [Bar Menu);

Apakah ungkapan biasa untuk integer? Apakah ungkapan biasa untuk integer? Nov 14, 2023 pm 04:11 PM

Ungkapan biasa untuk integer ialah: 1. Padankan integer positif: ^[1-9]\d*$; :^-?\d+$; 4. Padankan integer bukan sifar: ^(0|[1-9]\d*)$;

Cari nod ke-n daripada senarai pautan terakhir dalam C++ menggunakan kaedah rekursif Cari nod ke-n daripada senarai pautan terakhir dalam C++ menggunakan kaedah rekursif Sep 15, 2023 pm 05:53 PM

Diberi senarai terpaut tunggal dan integer positif N sebagai input. Matlamatnya adalah untuk mencari nod N dari penghujung senarai yang diberikan menggunakan rekursi. Jika senarai input mempunyai nod a→b→c→d→e→f dan N ialah 4, maka nod ke-4 dari yang terakhir ialah c. Kita akan mula-mula melintasi sehingga nod terakhir dalam senarai dan apabila kembali daripada kiraan kenaikan rekursif (backtracking). Apabila kiraan sama dengan N, penunjuk ke nod semasa dikembalikan sebagai hasilnya. Mari kita lihat pelbagai senario input dan output untuk ini - Input - Senarai: -1→5→7→12→2→96→33N=3 Output − Nod Nth dari yang terakhir ialah: 2 Penjelasan − Nod ketiga ialah 2 . Input − Senarai: -12→53→8→19→20→96→33N=8 Output – Nod tidak wujud

Bagaimana untuk menukar cap waktu kepada integer dalam PHP Bagaimana untuk menukar cap waktu kepada integer dalam PHP Mar 20, 2024 pm 04:24 PM

Cap masa dalam PHP ialah bentuk integer yang mewakili masa, biasanya bilangan saat yang telah berlalu sejak tahun pertama Unix (1 Januari 1970 00:00:00 GMT). Dalam pengaturcaraan, kita selalunya perlu menukar cap masa kepada bentuk integer yang lain Di sini kita akan memperkenalkan cara menukar cap masa PHP kepada integer, serta contoh kod tertentu. Dalam PHP, kita boleh menggunakan fungsi strtotime() untuk menukar rentetan masa kepada cap waktu dan kemudian menggunakan tarikh

Cara menggunakan fungsi INET_ATON dalam MySQL untuk menukar alamat IP kepada integer Cara menggunakan fungsi INET_ATON dalam MySQL untuk menukar alamat IP kepada integer Jul 12, 2023 pm 01:29 PM

Bagaimana untuk menggunakan fungsi INET_ATON dalam MySQL untuk menukar alamat IP kepada integer? Dalam pengaturcaraan rangkaian, pemprosesan dan penyimpanan alamat IP sering terlibat. Alamat IP biasanya dinyatakan dalam bentuk perpuluhan bertitik, seperti 192.168.1.1. Walau bagaimanapun, untuk sesetengah senario yang memerlukan penyimpanan dan pemprosesan alamat IP yang cekap, mungkin lebih mudah dan cekap untuk menukar alamat IP kepada bentuk integer. Dalam pangkalan data MySQL, terdapat fungsi terbina dalam yang dipanggil INET_ATON

See all articles