牛客習題總結18

在這裏插入圖片描述
超類即父類。
在這裏插入圖片描述
在這裏插入圖片描述

HashSet的底層還是用HashMap來實現的。將Entry<K,V>的V都變成了同一個Object對象,public static final PRESENT = new Object()。
而HashMap的數據結構是數組+鏈表+紅黑樹。

調用K的hashCode方法,然後高低16位進行&運算。得到的hash值,與數組tab[](桶)的長度-1進行&運算,確定插入對象在哪一個桶上。然後調用對象的equals方法,形成鏈表。當鏈表長度大於8時,鏈表轉紅黑樹。
在這裏插入圖片描述
在這裏插入圖片描述

初始化過程:

  1. 初始化父類中的靜態成員變量和靜態代碼塊 ;
  2. 初始化子類中的靜態成員變量和靜態代碼塊 ;
    3.初始化父類的普通成員變量和代碼塊,再執行父類的構造方法;
    4.初始化子類的普通成員變量和代碼塊,再執行子類的構造方法;

(1)初始化父類的普通成員變量和代碼塊,執行 Y y=new Y(); 輸出Y
(2)再執行父類的構造方法;輸出X
(3) 初始化子類的普通成員變量和代碼塊,執行 Y y=new Y(); 輸出Y
(4)再執行子類的構造方法;輸出Z
所以輸出YXYZ
在這裏插入圖片描述

 class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
        this.val = val;

    }

}
public class Main {

    public void Mirror(TreeNode root) {
        if(root == null) {
            return;
        }
        TreeNode node = root.left;
        root.left = root.right;
        root.right = node;
        if(root.left != null) {
            Mirror(root.left);
        }
        if(root.right != null) {
            Mirror(root.right);
        }
    }
} 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章