Java 二叉树

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

Java 二叉树

明天一定.   2022-05-28 我要评论

题目一

 解法

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public boolean isBalanced(TreeNode root) {
        if(root==null){
            return true;
        }else{
            return Math.abs(method(root.left) - method(root.right)) <= 1&&isBalanced(root.left) && isBalanced(root.right);
        }
    }
    public int method(TreeNode root){
        if(root==null){
            return 0;
        }else{
            return Math.max(method(root.left),method(root.right))+1;
        }
    }
}

题目二

 解法

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public boolean isSymmetric(TreeNode root) {
        if(root==null) return true;
        return method(root.left,root.right);
    }
    public boolean method(TreeNode l,TreeNode r){
        if(l==null&&r==null) return true;
        if(l==null||r==null||l.val!=r.val) return false;
        return method(l.left,r.right)&&method(l.right,r.left);
    }
}

题目三

 解法

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode deleteNode(ListNode head, int val) {
        ListNode temp = new ListNode(-1);
        temp.next = head;
        ListNode ans = temp;
        while(temp.next!=null){
            if(temp.next.val==val){
                temp.next = temp.next.next;
            }else{
                temp = temp.next;
            }
        }
        return ans.next;
    }
}

题目四

 解法

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode reverseList(ListNode head) {
        ListNode prev = null;   
        ListNode curr = head;
        while (curr != null) {
            ListNode next = curr.next;
            curr.next = prev;
            prev = curr;
            curr = next;
        }
        return prev;
    }
}

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们