💎💎💎💎💎
更多資源鏈接,歡迎訪問作者gitee倉庫:https://gitee.com/fanggaolei/learning-notes-warehouse/tree/master
1.二叉樹節(jié)點的創(chuàng)建嗶哩嗶哩算法題視頻講解:Java初級算法合集
public class TreeNode { int val;
TreeNode left;
TreeNode right;
TreeNode() {}
TreeNode(int val) {this.val = val;}
TreeNode(int val, TreeNode left, TreeNode right) { this.val = val;
this.left = left;
this.right = right;
}
}
? 這里我們需要理解二叉樹中會存儲3個值,分別為自己本身的val值和兩個指針,這兩個指針分別會指向兩個新的節(jié)點,或者指向為空。
先序遍歷:3 2 3 4 2 4 3
中序遍歷:3 2 4 3 4 2 3
后序遍歷:3 4 2 4 3 2 3
層序遍歷:3 2 2 3 4 4 3
public class TEST {public static void main(String[] args) {//第三層
TreeNode treeNode1=new TreeNode(3);
TreeNode treeNode2=new TreeNode(4);
TreeNode treeNode3=new TreeNode(4);
TreeNode treeNode4=new TreeNode(3);
//第二層
TreeNode treeNode5=new TreeNode(2,treeNode1,treeNode2);
TreeNode treeNode6=new TreeNode(2,treeNode3,treeNode4);
//第一層
TreeNode treeNoderoot=new TreeNode(3,treeNode5,treeNode6);
Solution solution=new Solution();
solution.isSymmetric(treeNoderoot);//中序遍歷
//solution.inOrderTraveral(treeNoderoot);//中序遍歷
//solution.postOrderTraveral(treeNoderoot);//后序遍歷
}
}
class TreeNode { int val;
TreeNode left;
TreeNode right;
TreeNode() {}
TreeNode(int val) {this.val = val;}
TreeNode(int val, TreeNode left, TreeNode right) { this.val = val;
this.left = left;
this.right = right;
}
}
}
2.二叉樹的先序遍歷//二叉樹的先序遍歷
class Solution{public void isSymmetric(TreeNode node){if(node == null){return;
}
System.out.print(node.val+" ");
isSymmetric(node.left);
isSymmetric(node.right);
}
3.二叉樹的中序遍歷//二叉樹中序遍歷
public static void inOrderTraveral(TreeNode node){if(node == null){return;
}
inOrderTraveral(node.left);
System.out.print(node.val+" ");
inOrderTraveral(node.right);
}
4.二叉樹的后序遍歷//二叉樹后續(xù)遍歷
public static void postOrderTraveral(TreeNode node){if(node == null){return;
}
postOrderTraveral(node.left);
postOrderTraveral(node.right);
System.out.print(node.val+" ");
}
5.二叉樹的層序遍歷public List>levelOrder(TreeNode root) {//邊界條件判斷
if (root == null)
return new ArrayList<>();
//隊列
Queuequeue = new LinkedList<>();
List>res = new ArrayList<>();
//根節(jié)點入隊
queue.add(root);
//如果隊列不為空就繼續(xù)循環(huán)
while (!queue.isEmpty()) {//BFS打印,levelNum表示的是每層的結(jié)點數(shù)
int levelNum = queue.size();
//subList存儲的是每層的結(jié)點值
ListsubList = new ArrayList<>();
for (int i = 0; i< levelNum; i++) {//出隊
TreeNode node = queue.poll();
subList.add(node.val);
//左右子節(jié)點如果不為空就加入到隊列中
if (node.left != null)
queue.add(node.left);
if (node.right != null)
queue.add(node.right);
}
//把每層的結(jié)點值存儲在res中,
res.add(subList);
}
return res;
}
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
當(dāng)前名稱:Java實現(xiàn)二叉樹的創(chuàng)建與四種遍歷方式(前,中,后,層)-創(chuàng)新互聯(lián)
鏈接分享:http://chinadenli.net/article24/cdpoje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、網(wǎng)站設(shè)計公司、面包屑導(dǎo)航、搜索引擎優(yōu)化、網(wǎng)站建設(shè)、企業(yè)建站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容