Java编程求二叉树的镜像两种方法介绍 /*class TreeNode{
int val;
TreeNode left=null;
TreeNode right=null;
public TreeNode(int val) {
this.val = val;
}
}*/
public static void mirrorTree(TreeNode root)
{
if(root==null)
return;
//交换该节点指向的左右节点。
TreeNode temp=root.left;
root.left=root.right;
root.right=temp;
//对其左右孩子进行镜像处理。
mirrorTree(root.left);
mirrorTree(root.right);
} /*class TreeNode{
int val;
TreeNode left=null;
TreeNode right=null;
public TreeNode(int val) {
this.val = val;
}
}*/
public static TreeNode mirrorTree1(TreeNode root)
{
if(root==null)
return null;
//对左右孩子镜像处理
TreeNode left=mirrorTree1(root.left);
TreeNode right=mirrorTree1(root.right);
//对当前节点进行镜像处理。
root.left=right;
root.right=left;
return root;
}

public static void mirrorTreeWithQueue(TreeNode root)
{
if(root==null)
return;
//如果树为 null 直接返回。否则将根节点入队列。
while(!queue.isEmpty())
{
//队列不为空时，节点出队，交换该节点的左右子树。
TreeNode root1=queue.poll();
/*TreeNode left,right;
left=root1.left;
right=root1.right;
root1.right=left;
root1.left=right;
*/
Swap(root);
if(root1.right!=null)
{
//如果左子树不为 null 入队
}
if(root1.left!=null)
{
//如果右子树不为 null 入队。
}
}
}
public static void Swap(TreeNode root)
{
TreeNode temp;
temp=root.right;
root.right=root.left;
root.left=temp;
}

public static void mirrorTreeWithStack(TreeNode root)
{
if(root==null)
return;
Stack<TreeNode> stack=new Stack<TreeNode>();
stack.push(root);
while(!stack.isEmpty())
{
//当栈不为 null 时出栈，交换左右子树。
TreeNode root1=stack.pop();
/*TreeNode left,right;
left=root1.left;
right=root1.right;
root1.right=left;
root1.left=right;*/
Swap(root);
if(root1.right!=null)
{
//右子树不为 null 入栈
stack.push(root1.right);
}
if(root1.left!=null)
{
//左子树不为 null 入栈
stack.push(root1.left);
}
}
}
public static void Swap(TreeNode root)
{
TreeNode temp;
temp=root.right;
root.right=root.left;
root.left=temp;
}

java算法实现红黑树完整代码示例

Java 蒙特卡洛算法求圆周率近似值实例详解

java实现的各种排序算法代码示例

Java实现表达式二叉树 JAVA 实现二叉树（链式存储结构） 图解红黑树及Java进行红黑二叉树遍历的方法 Java的二叉树排序以及遍历文件展示文本格式的文件树

Java二叉树排序算法 排序二叉树的描述也是一个递归的描述, 所以排序二叉树的构造自然也用递归的: 排序二叉树的3个特征: 1:当前node的所有左孩子的值都小于当前node的值: 2:当前node的所有右孩子的值都大于当前node的值: 3:孩子节点也满足以上两点 package test.sort; public class BinaryNode { private int value;//current value private BinaryNode lChild;//left chil

Java实现二叉树的深度优先遍历和广度优先遍历算法示例 Java遍历输出指定目录、树形结构所有文件包括子目录下的文件 JAVA实现遍历文件夹下的所有文件(递归调用和非递归调用)

JAVA 遍历文件夹下的所有文件(递归调用和非递归调用) 1.不使用递归的方法调用. public void traverseFolder1(String path) { int fileNum = 0, folderNum = 0; File file = new File(path); if (file.exists()) { LinkedList<File> list = new LinkedList<File>(); File[] files = file.listFile

java中File类应用遍历文件夹下所有文件 java 实现计数排序和桶排序实例代码

java 实现计数排序和桶排序实例代码 目录 比较和非比较的区别 常见的快速排序.归并排序.堆排序.冒泡排序等属于比较排序.在排序的最终结果里,元素之间的次序依赖于它们之间的比较.每个数都必须和其他数进行比较,才能确定自己的位置. 在 冒泡排序 之类的排序中,问题规模为n,又因为需要比较n次,所以平均时间复杂度为O(n²).在 归并排序.快速排序 之类的排序中,问题规模通过分治法消减为logN次,所以时间复杂度平均 O(nlogn) . 比较排序的优势是,适用于各种规模的数据,也不在乎数据的分布
{"ft_lang_label":"__label__zh","ft_lang_prob":0.60946274,"math_prob":0.9373845,"size":2577,"snap":"2022-05-2022-21","text_gpt3_token_len":1251,"char_repetition_ratio":0.19976681,"word_repetition_ratio":0.2583732,"special_character_ratio":0.24020179,"punctuation_ratio":0.23555556,"nsfw_num_words":0,"has_unicode_error":false,"math_prob_llama3":0.9745746,"pos_list":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],"im_url_duplicate_count":[null,1,null,1,null,null,null,null,null,null,null,1,null,1,null,1,null],"WARC_HEADER":"{\"WARC-Type\":\"response\",\"WARC-Date\":\"2022-01-24T12:48:32Z\",\"WARC-Record-ID\":\"<urn:uuid:f32b1a38-df86-44ed-b201-538cae39960b>\",\"Content-Length\":\"25391\",\"Content-Type\":\"application/http; msgtype=response\",\"WARC-Warcinfo-ID\":\"<urn:uuid:bf13b25d-74f5-44ac-952f-7c996ab315f3>\",\"WARC-Concurrent-To\":\"<urn:uuid:47f77414-15f3-46e7-baaf-779ebb776b04>\",\"WARC-IP-Address\":\"101.32.26.95\",\"WARC-Target-URI\":\"https://www.zhangshengrong.com/p/8AaY3RnlX2/\",\"WARC-Payload-Digest\":\"sha1:PJE2YOKO3NBSFXXX5MIHTGCD3FQWOAP6\",\"WARC-Block-Digest\":\"sha1:73Q6ULP3NFCLXNYRIPPYNHFIUOPABEIK\",\"WARC-Identified-Payload-Type\":\"text/html\",\"warc_filename\":\"/cc_download/warc_2022/CC-MAIN-2022-05/CC-MAIN-2022-05_segments_1642320304570.90_warc_CC-MAIN-20220124124654-20220124154654-00566.warc.gz\"}"}