두 갈래 나무가 다른 두 갈래 나무의 자수인지 검사하다
package binaryTree;
import java.util.regex.Matcher;
import javax.security.auth.Subject;
/** * * * @author duola * */
public class hasSubTree {
public static class BinaryTreeNode {
BinaryTreeNode left;
BinaryTreeNode right;
int val;
}
private static boolean issubtree(BinaryTreeNode root1, BinaryTreeNode root2) {
boolean flag = false;
if (root2 == null)
flag = true;
if (root1 == null)
flag = false;
if (root1 != null && root2 != null) {
if (root1.val == root2.val) {
flag = doeshave(root1, root2);
}
if (!flag) {
flag = issubtree(root1.left, root2);
}
if (!flag) {
flag = issubtree(root1.right, root2);
}
}
return flag;
}
private static boolean doeshave(BinaryTreeNode b1, BinaryTreeNode b2) {
if (b2 == null)
return true;
if (b1 == null)
return false;
if (b1.val != b2.val)
return false;
if (b1.val == b2.val) {
return doeshave(b1.left, b1.left) && doeshave(b1.right, b2.right);
}
return false;
}
public static void main(String [] args) {
BinaryTreeNode root1=new BinaryTreeNode();
BinaryTreeNode root2=new BinaryTreeNode();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
순환 경기 일정(귀속 해법)문제 설명: n=2k 선수가 테니스 사이클을 치러야 한다.지금 요구를 충족시키는 경기 일정표를 설계해야 돼요. (1) 모든 선수는 다른 n-1개 선수와 한 번씩 시합해야 한다. (2) 하루에 한 번만 경기할 수 있는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.