public void ReverseNode(IntNode node) {//2473519 if (node == null) { return; } List <IntNode> list = new List <IntNode>() { node }; while (node.next != null) { list.Add(node.next); node = node.next; } for (int i = list.Count - 1; i >= 0; i--) { var head = list[i]; if (i == 0) { head.next = null; } else { head.next = list[i - 1]; } } var hhh = list[list.Count - 1]; }
static void Main(string[] args) { //TreeNode tn = new TreeNode(1); //TreeNode tn3 = new TreeNode(3); //tn3.children.Add(new TreeNode(5)); //tn3.children.Add(new TreeNode(6)); //tn.children.Add(tn3); //tn.children.Add(new TreeNode(2)); //tn.children.Add(new TreeNode(4)); //tn.Preorder1(tn); //tn.MaxArea(new int[] { 1, 8, 6, 2, 5, 4, 8, 3, 7 }); BinaryTree tree = new BinaryTree(); tree.preorder1(); tree.isvalid(); // new sum().sum3(); // 定义一个无参数、int类型返回值的委托 //Func<int> func = () => //{ // Thread.Sleep(2000); // return DateTime.Now.Day; //}; //// 输出委托同步调用的返回值 //Console.WriteLine($"func.Invoke()={func.Invoke()}"); //// 委托的异步调用 //IAsyncResult asyncResult = func.BeginInvoke(p => // { // Console.WriteLine(p.AsyncState); // }, "异步调用返回值"); //// 输出委托异步调用的返回值 //Console.WriteLine($"func.EndInvoke(asyncResult)={func.EndInvoke(asyncResult)}"); //new randombox().Compute(); //new Bsearch().getindex(); //new LIS().Get(); //sort.quick_sort(); //sort.mergeSort(); //sort.insertSort(); //Stack<int> st = new Stack<int>(); //st.Push(1); //st.Push(3); //var aaa = st.Pop(); //HashSet<int> hs = new HashSet<int>(); //hs.Add(1); //hs.Remove(1); //// new LIS().lis(new int[] { 2, 1, 6, 3, 5, 4, 8, 7, 9 }); var node = new IntNode(2); node.append(4); node.append(7); node.append(3); node.append(1); node.append(9); // var newnode = new IntNode(3); // node.insert(newnode, 5); node.ReverseList(); Console.WriteLine("Hello World!"); }
public IntNode find(IntNode node) { var head = this; while (head.data != node.data) { head = head.next; } return(head); }
public void append(int data) { var head = this; var newnode = new IntNode(data); while (head.next != null) { head = head.next; } head.next = newnode; }
public void insert(IntNode node, int data) { var currentNode = find(node); if (currentNode == null) { return; } var newnode = new IntNode(data); newnode.next = currentNode.next; currentNode.next = newnode; }
public void ReverseList() { var head = new IntNode(1); head.append(2); head.append(3); head.append(4); IntNode tmp1 = null; IntNode tmp2 = null; while (head != null) { //nest赋值给当前,当前赋值给下一个循环(当前next)的nest tmp2 = head.next; //save next head head.next = tmp1; tmp1 = head; head = tmp2; } head = new IntNode(1); head.append(2); head.append(3); head.append(4); // while (head!=null) // { //// tmp1 = null; // tmp1 = head.next; // head.next.next = head; // head = tmp1; // } //head.next = tmp2; //tmp2 = head; //head = tmp1; var n = tmp1; // return ; }