public static TreeNode copy(TreeNode source)
{
if(source == null)
return null;
else
return new TreeNode(source.getInfo(), copy(source.getLeft()), copy(source.getRight()));
}
/chắc. Xin lỗi về sự chậm trễ. Dù sao ... bất kỳ phương pháp đệ quy nào cũng có trường hợp cơ bản và một hoặc nhiều trường hợp đệ quy. Trong trường hợp này, dòng đầu tiên là hiển nhiên ... nếu đối số cho tham số 'nguồn' là null (vì nó cuối cùng đánh giá để kết thúc hoạt động của phương thức), nó sẽ trả về null; nếu không, trường hợp đệ quy được bắt đầu. Trong trường hợp này, bạn sẽ trả lại toàn bộ cây đã sao chép khi quá trình đệ quy hoàn tất. Toán tử 'mới' được sử dụng, biểu thị sự khởi tạo của TreeNode với mỗi lần truy cập đến các nút khác nhau của cây trong quá trình truyền tải, xảy ra thông qua các cuộc gọi đệ quy đến 'sao chép', đối số của nó trở thành tham chiếu đến TreeNode trái và phải (nếu có bất kỳ). Khi nguồn trở thành null trong mỗi đối số, trường hợp cơ sở được bắt đầu, phát hành ngăn xếp đệ quy trở lại cuộc gọi ban đầu để 'sao chép', là bản sao gốc của cây gốc./
* "trong JAVA" * Không cần bao gồm thẻ trong tiêu đề và được viết là 'Java'. –
Đồng ý. Bây giờ đã chỉnh sửa. – lkkeepmoving