- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
đây là mã của tôi
public int getDist(Node root, int value)
{
if (root == null && value !=0)
return -1;//
if(root.value == value)// we have a match
return 0;
if(root.getLeft()!=null)
int left =1+ getDist(root.getLeft(),value);
int right = 1+getDist(root.getRight(),value);
if(left ==-1 && right== -1)
return -1;//not found
return Math.max(left,right);
}
对于上述方法的正确性或任何优化的任何反馈,我将不胜感激。
câu trả lời hay nhất
就目前而言,您的代码不会按预期工作。另一方面考虑一下:
public int getDist(Node root, int value) {
// value is never in an empty subtree
if (root == null)
return -1;
// found value, distance from root is 0
if(root.value == value)
return 0;
// find distance from root of left subtree
int left = getDist(root.getLeft(),value);
// find distance from root of right subtree
int right = getDist(root.getRight(),value);
// value not found in either subtree
if(left == -1 && right == -1)
return -1;
// if the value was found,
// return the distance from the root of the subtree + 1
return 1 + Math.max(left,right);
}
我所做的更改是删除一些多余的检查并在检查“值不在任一子树中”之后移动 +1
。其效果如下:如果递归发现该值不在子树中,则 trở lại
语句会将值 -1
一直波纹到子树的根而不改变它,保持信息“值不在这里”不变。如果在至少一个子树中找到该值,则 bên trái
Và right
不可能都是 -1
,因此检查将失败,最后的 trở lại
语句将返回预期值。
关于algorithm - 获取二叉树中给定值的根到节点的距离 : Algorithm correctness,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22585740/
Tôi cần sự giúp đỡ của bạn với những điều sau đây. Tôi đã đọc về nhiệm vụ và không đồng bộ trong gần một tháng. Tôi muốn thử triển khai kiến thức mới tìm thấy của mình trong một dự án API WEP đơn giản. Tôi có các phương pháp sau và tất cả chúng đều hoạt động như mong đợi: public Htt
Tôi có tệp mẫu (.xls) trong tệp thực thi của mình. Không cần trong thời gian chạy, tôi cần tạo hơn 100 bản sao của tệp này (sẽ được thêm vào sau). Được sử dụng để lấy tài nguyên trong tệp jar (template.xls). tôi đang sử dụng
Tôi đang xem mã mô hình của trang web và có câu hỏi về nguyên mẫu. Tôi biết điều này hữu ích cho việc kế thừa trong Javascript. Trong ví dụ này...define([], function () { "use
Ba thao tác hàng đầu ảnh hưởng đến hiệu suất của tôi là: Nhận thanh cuộn Nhận chiều cao bù trừ Ext.getStyle Để giải thích những gì đang xảy ra trong ứng dụng của tôi: Tôi có một lưới với một cột trong mỗi ô hiển thị lưới. Khi tôi làm hầu hết mọi thứ với nội dung của lưới, nó sẽ hoạt động
Tôi đang sử dụng chức năng sau để lấy tham số URL. hàm gup(tên, url) { name = name.replace(/[\[]/, '\\\[').replace(/[\]]/,
Gần đây tôi đã sử dụng sysctl cho rất nhiều thứ và hiện tại tôi đang sử dụng biến HW_MACHINE_ARCH. Tôi đang sử dụng đoạn mã sau. Lưu ý rằng mã này hoạt động hoàn hảo khi tôi cố gắng lấy biến khác HW_MACHINE. tôi cũng nghĩ
đóng cửa. Câu hỏi này không tuân thủ các nguyên tắc của Stack Overflow. Hiện tại nó không chấp nhận câu trả lời. Đóng cửa 9 năm trước Các câu hỏi yêu cầu mã phải thể hiện sự hiểu biết tối thiểu về vấn đề đang được giải quyết. Bao gồm các giải pháp đã thử và tại sao
Vì sử dụng main-bower-files như một phần của tác vụ biên dịch bằng Gulp, nên tôi không thể sử dụng webpack trong node_modules để yêu cầu module code> dir vì tôi sẽ làm rối mã
đóng cửa. Câu hỏi này cần tập trung hơn. Hiện tại nó không chấp nhận câu trả lời. Bạn muốn cải thiện câu hỏi này? Đã cập nhật câu hỏi để tập trung vào một vấn đề chỉnh sửa bài đăng này Đã đóng 5 năm trước. Cải thiện câu hỏi này
Tôi đang sử dụng Gridlayout để đặt 4 phần tử liên tiếp. Đầu tiên, tôi có JPanel và mọi thứ đều hoạt động tốt. Đối với những trường hợp số lượng hàng ngày càng lớn và tôi phải cuộn xuống, tôi đã thực hiện một số thay đổi đối với nó. Bây giờ tôi đã thêm J vào JPanel của mình
Tôi muốn lưu giá trị của VolumeId vào một biến vì những lý do sau: #!/usr/bin/env python import boto3 import json import argparse import
Tôi đang cập nhật MSAL phiên bản 1.x lên trình duyệt MSAL cho Angular. Vì vậy, tôi đang cố gắng di chuyển từ phiên bản 1.x sang 2.XI và đã có thể thay thế mã thành công và nó hoạt động tốt. Nhưng tôi đã gặp có đượcT
Tôi biết có rất nhiều câu hỏi về vấn đề này như Lấy số trung bình hàng ngày với gấu trúc và Làm thế nào để lấy giá trị trung bình hàng tháng của gấu trúc bằng cách sử dụng nhóm nhưng tôi đã gặp phải
Đây là chuỗi truy vấn mà tôi nhận được trong URL đầu ra: /demo/analysis/test?startDate=Sat+
Tôi đang cố gắng truy cập lớp Geoserver var gkvrtWmsSource =new ol.source.ImageWMS({ u
API yêu cầu tiêu đề chứa mã ủy quyền. Đây là những gì tôi có cho đến nay: var fullUrl = 'https://api.ecobee.com/1/thermostat?json=\{"s
Làm cách nào tôi có thể lấy ký tự cuối cùng trong một tệp và nếu đó là một ký tự nhất định, hãy xóa nó mà không tải toàn bộ tệp vào bộ nhớ? Đây là những gì tôi có hiện tại. sử dụng (var fileStream = new FileStream("file.t
Tôi mới tham gia cộng đồng này và nghĩ ra câu hỏi đầu tiên của mình. Tôi đang làm việc với JSP và tôi đã tạo thành công các Trang web JSP đang sử dụng jsp:setParameter và jsp:getParameter bằng một chuỗi duy nhất.
Để trả lời cho việc sắp xếp lại StoreStore xảy ra khi biên dịch C++ cho x86 @Peter Cordes đã viết For Acquire/Release se
Tôi có một hàm, hãy gọi nó là X1, hàm này trả về biến Y. Hàm này được sử dụng trong hành động .on("focusout", X1). Làm thế nào để có được biến Y? Kết quả của X1 sau khi thực thi .on là gì? Câu trả lời hay nhất Bạn có thể thay đổi phạm vi của Y để nó nằm trong hàm
Tôi là một lập trình viên xuất sắc, rất giỏi!