博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二叉树中的节点删除-----按照最底层最右边的节点收缩
阅读量:5068 次
发布时间:2019-06-12

本文共 2578 字,大约阅读时间需要 8 分钟。

package bst;import java.util.LinkedList;import java.util.Queue;public class BTDel {    static Node root;        static class Node{        int key;        Node left;        Node right;                Node(int key){            this(key,null,null);        }                Node(int key,Node left,Node right){            this.key = key;            this.left = left;            this.right = right;        }    }        public static void inorder(Node root) {        if(root==null) {            return;        }        inorder(root.left);        System.out.print(root.key+" ");        inorder(root.right);    }        public static void deletDeepest(Node root,Node d_node) {        Queue
q = new LinkedList
(); Node temp; while(!q.isEmpty()) { temp = q.poll(); if(temp.right != null) { if(temp.right == d_node) { temp.right = null; d_node = null; return; }else { q.add(temp.right); } } if(temp.left != null) { if(temp.left == d_node) { temp.left = null; d_node = null; return; }else { q.add(temp.left); } } } } public static void deletion(Node root,int key) { Queue
q = new LinkedList
(); q.add(root); Node temp = null; Node key_node = null; while(!q.isEmpty()) { temp = q.poll(); if(temp.key == key) { key_node = temp; } if(temp.left != null) { q.add(temp.left); } if(temp.right != null) { q.add(temp.right); } } int x = temp.key; deletDeepest(root,temp); key_node.key = x; } public static void main(String[] args) { Node root = new Node(10); root.left = new Node(11); root.left.left = new Node(7); root.left.right = new Node(12); root.right = new Node(9); root.right.left = new Node(15); root.right.right = new Node(8); System.out.println("Inorder traversal before deletion : "); inorder(root); int key = 11; deletion(root,key); System.out.println(); inorder(root); } }

 

转载于:https://www.cnblogs.com/itqczzz/p/10434460.html

你可能感兴趣的文章
银行排队问题(详解队列)
查看>>
序列化和反序列化(1)---[Serializable]
查看>>
SQL优化
查看>>
用C语言操纵Mysql
查看>>
轻松学MVC4.0–6 MVC的执行流程
查看>>
4.9 Parser Generators
查看>>
redis集群如何清理前缀相同的key
查看>>
redis7--hash set的操作
查看>>
20.字典
查看>>
Python 集合(Set)、字典(Dictionary)
查看>>
oracle用户锁定
查看>>
(转)盒子概念和DiV布局
查看>>
Android快速实现二维码扫描--Zxing
查看>>
获取元素
查看>>
nginx+lighttpd+memcache+mysql配置与调试
查看>>
ubuntu12.04 启动apache2 对.htaccess 的支持
查看>>
proxy写监听方法,实现响应式
查看>>
前端工具----iconfont
查看>>
Azure Site Recovery 通过一键式流程将虚拟机故障转移至 Azure虚拟机
查看>>
Hello China操作系统STM32移植指南(一)
查看>>